class QuestionItemAdmin(admin.ModelAdmin): search_fields = [ 'uri' ] + get_language_fields('help') + get_language_fields('text') list_display = ('uri', 'attribute', 'text', 'is_collection') readonly_fields = ('uri', 'path') list_filter = ('is_collection', 'widget_type', 'value_type')
class QuestionSetAdmin(admin.ModelAdmin): search_fields = [ 'uri' ] + get_language_fields('title') + get_language_fields('help') list_display = ('uri', 'attribute', 'is_collection') readonly_fields = ('uri', 'path') list_filter = ('is_collection', )
class ViewAdmin(admin.ModelAdmin): form = ViewAdminForm search_fields = [ 'uri' ] + get_language_fields('title') + get_language_fields('help') list_display = ('uri', 'title', 'help', 'available') readonly_fields = ('uri', ) list_filter = ('available', )
class SectionAdmin(admin.ModelAdmin): form = SectionAdminForm search_fields = ['uri'] + get_language_fields('title') list_display = ('uri', 'title') readonly_fields = ('uri', 'path') list_filter = ('catalog', )
class OptionAdmin(admin.ModelAdmin): form = OptionAdminForm search_fields = ['uri'] + get_language_fields('text') list_display = ('uri', 'text', 'additional_input') readonly_fields = ('uri', 'path') list_filter = ('optionset', 'additional_input')
class CatalogAdmin(admin.ModelAdmin): form = CatalogAdminForm search_fields = ['uri'] + get_language_fields('title') list_display = ('uri', 'title', 'projects_count', 'available') readonly_fields = ('uri', ) list_filter = ('available', ) def get_queryset(self, request): return super().get_queryset(request) \ .annotate(projects_count=models.Count('projects')) def projects_count(self, obj): return obj.projects_count
def copy(self, uri_prefix, key): # create a new title kwargs = {} for field in get_language_fields('title'): kwargs[field] = getattr(self, field) + '*' # copy instance catalog = copy_model(self, uri_prefix=uri_prefix, key=key, **kwargs) # copy m2m fields catalog.sites.set(self.sites.all()) catalog.groups.set(self.groups.all()) # copy children for section in self.sections.all(): section.copy(uri_prefix, section.key, catalog=catalog) return catalog
class ViewAdmin(admin.ModelAdmin): search_fields = [ 'uri' ] + get_language_fields('text') + get_language_fields('help') list_display = ('uri', 'title', 'help') readonly_fields = ('uri', )
class CatalogAdmin(admin.ModelAdmin): search_fields = ['uri'] + get_language_fields('title') list_display = ('uri', 'title') readonly_fields = ('uri', )
class SectionAdmin(admin.ModelAdmin): search_fields = ['uri'] + get_language_fields('title') list_display = ('uri', 'title') readonly_fields = ('uri', 'path')