mirror of
git://git.yoctoproject.org/layerindex-web.git
synced 2025-07-19 20:59:01 +02:00
admin: use more dynamic method of setting recipe read-only fields
Every time we add something that links to Recipe we had to add it to the exclusions list in the readonly_fields line for RecipeAdmin (and ClassicRecipeAdmin), which is tedious and easily forgotten. We can avoid this by looking at each field and excluding it by its attributes rather than having a hardcoded list of names. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
parent
9ebc94a1df
commit
c183b360ff
|
@ -89,7 +89,12 @@ class LayerUpdateAdmin(admin.ModelAdmin):
|
|||
class RecipeAdmin(admin.ModelAdmin):
|
||||
search_fields = ['filename', 'pn']
|
||||
list_filter = ['layerbranch__layer__name', 'layerbranch__branch__name']
|
||||
readonly_fields = [f.name for f in Recipe._meta.get_fields() if f.name not in ['recipefiledependency', 'classicrecipe', 'packageconfig']]
|
||||
def get_readonly_fields(self, request, obj=None):
|
||||
rofields = []
|
||||
for f in Recipe._meta.get_fields():
|
||||
if not (f.auto_created and f.is_relation):
|
||||
rofields.append(f.name)
|
||||
return rofields
|
||||
def has_add_permission(self, request, obj=None):
|
||||
return False
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
|
@ -110,7 +115,12 @@ class DynamicBuildDepAdmin(admin.ModelAdmin):
|
|||
class ClassicRecipeAdmin(admin.ModelAdmin):
|
||||
search_fields = ['filename', 'pn']
|
||||
list_filter = ['layerbranch__layer__name', 'layerbranch__branch__name']
|
||||
readonly_fields = [f.name for f in ClassicRecipe._meta.get_fields() if f.name not in ['recipefiledependency', 'packageconfig']]
|
||||
def get_readonly_fields(self, request, obj=None):
|
||||
rofields = []
|
||||
for f in ClassicRecipe._meta.get_fields():
|
||||
if not (f.auto_created and f.is_relation):
|
||||
rofields.append(f.name)
|
||||
return rofields
|
||||
def has_add_permission(self, request, obj=None):
|
||||
return False
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
|
|
Loading…
Reference in New Issue
Block a user