layerindex-web/layerindex/admin.py
Paul Eggleton 05ceb17487 Admin interface improvements
* Set custom title for admin pages
* Use reasonable field widths on editing pages
* Allow filtering and searching by useful fields
* Disable editing of recipe records
* Disable editing of layer fields set by the update script
* Show "Layers" instead of "Layer items" for layers
* Show "Layer dependencies" instead of "Layer dependencys"
* Show layer name in maintainers listing

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-02-19 12:02:04 +00:00

45 lines
1.5 KiB
Python

# layerindex-web - admin interface definitions
#
# Copyright (C) 2013 Intel Corporation
#
# Licensed under the MIT license, see COPYING.MIT for details
from layerindex.models import *
from django.contrib import admin
from reversion_compare.admin import CompareVersionAdmin
from django.forms import TextInput
class LayerItemAdmin(CompareVersionAdmin):
list_filter = ['status', 'layer_type']
save_as = True
search_fields = ['name', 'summary']
readonly_fields = ['vcs_last_fetch', 'vcs_last_rev', 'vcs_last_commit']
formfield_overrides = {
models.URLField: {'widget': TextInput(attrs={'size':'100'})},
models.CharField: {'widget': TextInput(attrs={'size':'100'})},
}
class LayerMaintainerAdmin(CompareVersionAdmin):
list_filter = ['status', 'layer__name']
class LayerDependencyAdmin(CompareVersionAdmin):
list_filter = ['layer__name']
class LayerNoteAdmin(CompareVersionAdmin):
list_filter = ['layer__name']
class RecipeAdmin(admin.ModelAdmin):
search_fields = ['filename', 'pn']
list_filter = ['layer__name']
readonly_fields = Recipe._meta.get_all_field_names()
def has_add_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
admin.site.register(LayerItem, LayerItemAdmin)
admin.site.register(LayerMaintainer, LayerMaintainerAdmin)
admin.site.register(LayerDependency, LayerDependencyAdmin)
admin.site.register(LayerNote, LayerNoteAdmin)
admin.site.register(Recipe, RecipeAdmin)