ConceptPortal-public/rsconcept/backend/apps/rsform/admin.py

60 lines
1.8 KiB
Python
Raw Normal View History

''' Admin view: RSForms for conceptual schemas. '''
2023-07-15 17:46:19 +03:00
from django.contrib import admin
from . import models
class ConstituentaAdmin(admin.ModelAdmin):
''' Admin model: Constituenta. '''
ordering = ['schema', 'order']
list_display = ['schema', 'alias', 'term_resolved', 'definition_resolved']
search_fields = ['term_resolved', 'definition_resolved']
2023-07-15 17:46:19 +03:00
class LibraryItemAdmin(admin.ModelAdmin):
2023-08-25 22:51:20 +03:00
''' Admin model: LibraryItem. '''
date_hierarchy = 'time_update'
list_display = [
'alias', 'title', 'owner',
'is_common', 'is_canonical',
'time_update'
]
list_filter = ['is_common', 'is_canonical', 'time_update']
search_fields = ['alias', 'title']
2023-07-15 17:46:19 +03:00
class LibraryTemplateAdmin(admin.ModelAdmin):
''' Admin model: LibraryTemplate. '''
list_display = ['id', 'alias']
list_select_related = ['lib_source']
def alias(self, template: models.LibraryTemplate):
if template.lib_source:
return template.lib_source.alias
else:
return 'N/A'
2023-08-26 17:26:49 +03:00
class SubscriptionAdmin(admin.ModelAdmin):
''' Admin model: Subscriptions. '''
list_display = ['id', 'item', 'user']
search_fields = [
'item__title', 'item__alias',
'user__username', 'user__first_name', 'user__last_name'
]
2023-08-26 17:26:49 +03:00
class VersionAdmin(admin.ModelAdmin):
''' Admin model: Versions. '''
list_display = ['id', 'item', 'version', 'description', 'time_create']
search_fields = [
'item__title', 'item__alias'
]
2023-07-15 17:46:19 +03:00
admin.site.register(models.Constituenta, ConstituentaAdmin)
admin.site.register(models.LibraryItem, LibraryItemAdmin)
admin.site.register(models.LibraryTemplate, LibraryTemplateAdmin)
2023-08-26 17:26:49 +03:00
admin.site.register(models.Subscription, SubscriptionAdmin)
admin.site.register(models.Version, VersionAdmin)