diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-08-03 18:35:50 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-08-03 18:35:50 +0200 |
commit | d21ea8d69b5d1eccca7d971c70de193eaea575cb (patch) | |
tree | 981e5783944ac3d88cc29619eb5edb0ba0d22e04 | |
parent | 5152dec20d1ad67fc3cd8d0013b2f3b0bb46a271 (diff) | |
download | Ishtar-d21ea8d69b5d1eccca7d971c70de193eaea575cb.tar.bz2 Ishtar-d21ea8d69b5d1eccca7d971c70de193eaea575cb.zip |
Admin: improve operation's models forms
-rw-r--r-- | archaeological_operations/admin.py | 17 | ||||
-rw-r--r-- | archaeological_operations/models.py | 2 |
2 files changed, 18 insertions, 1 deletions
diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py index 85df96f6e..068758200 100644 --- a/archaeological_operations/admin.py +++ b/archaeological_operations/admin.py @@ -17,6 +17,8 @@ # See the file COPYING for details. +from ajax_select import make_ajax_form + from django.conf import settings from django.contrib import admin @@ -36,6 +38,8 @@ class AdministrativeActAdmin(HistorizedObjectAdmin): 'departments_label', 'towns_label', 'history_modifier', 'history_creator') model = models.AdministrativeAct + form = make_ajax_form( + models.AdministrativeAct, {'operation': 'operation'}) admin_site.register(models.AdministrativeAct, AdministrativeActAdmin) @@ -49,10 +53,19 @@ class PeriodAdmin(admin.ModelAdmin): admin_site.register(models.Period, PeriodAdmin) +class OperationInline(admin.TabularInline): + model = models.Operation.archaeological_sites.through + form = make_ajax_form( + model, {'operation': 'operation'}) + extra = 1 + + class ArchaeologicalSiteAdmin(HistorizedObjectAdmin): list_display = ('name', 'reference') search_fields = ('name', 'reference') model = models.ArchaeologicalSite + readonly_fields = HistorizedObjectAdmin.readonly_fields + ['imports'] + inlines = [OperationInline] admin_site.register(models.ArchaeologicalSite, ArchaeologicalSiteAdmin) @@ -76,6 +89,10 @@ class OperationSourceAdmin(admin.ModelAdmin): list_filter = ('source_type',) search_fields = ('title', 'operation__common_name') model = models.OperationSource + form = make_ajax_form( + model, {'operation': 'operation', + 'authors': 'author'} + ) admin_site.register(models.OperationSource, OperationSourceAdmin) diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 60e9ef98e..1249fcc05 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -343,7 +343,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, null=True, blank=True) archaeological_sites = models.ManyToManyField( ArchaeologicalSite, verbose_name=_(u"Archaeological sites"), - blank=True) + blank=True, related_name='operations') virtual_operation = models.BooleanField( _(u"Virtual operation"), default=False, help_text=_( |