diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-08-04 15:31:31 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-08-04 15:37:23 +0200 |
commit | 985dc2b18a551ead39a12fa0ed2601b2bda1d6e4 (patch) | |
tree | feb7c9b7566209b175e0a6734b91692e0317b311 /archaeological_operations/admin.py | |
parent | 135341351687453f5a36cb36045ad80b2de3c538 (diff) | |
download | Ishtar-985dc2b18a551ead39a12fa0ed2601b2bda1d6e4.tar.bz2 Ishtar-985dc2b18a551ead39a12fa0ed2601b2bda1d6e4.zip |
Admin: improve parcel, parcel owner forms, add a lookup for parcel
Diffstat (limited to 'archaeological_operations/admin.py')
-rw-r--r-- | archaeological_operations/admin.py | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py index 3cfd91d5e..f1deac188 100644 --- a/archaeological_operations/admin.py +++ b/archaeological_operations/admin.py @@ -75,6 +75,13 @@ class ArchaeologicalSiteAdmin(HistorizedObjectAdmin): admin_site.register(models.ArchaeologicalSite, ArchaeologicalSiteAdmin) +class ArchaeologicalSiteInline(admin.TabularInline): + model = models.Operation.archaeological_sites.through + form = make_ajax_form( + model, {'archaeologicalsite': 'archaeological_site'}) + extra = 1 + + class AdminOperationForm(forms.ModelForm): class Meta: model = models.Operation @@ -107,6 +114,7 @@ class OperationAdmin(HistorizedObjectAdmin): readonly_fields = HistorizedObjectAdmin.readonly_fields + [ 'imports', 'cached_label'] form = AdminOperationForm + inlines = [ArchaeologicalSiteInline] admin_site.register(models.Operation, OperationAdmin) @@ -126,8 +134,18 @@ admin_site.register(models.OperationSource, OperationSourceAdmin) class ParcelAdmin(HistorizedObjectAdmin): list_display = ['section', 'parcel_number', 'operation', 'associated_file'] - search_fields = ('operation__name',) + search_fields = ('operation__cached_label', + 'associated_file__cached_label', + 'year', 'section', 'parcel_number') model = models.Parcel + form = make_ajax_form( + model, {'associated_file': 'file', + 'operation': 'operation', + 'town': 'town'} + ) + readonly_fields = HistorizedObjectAdmin.readonly_fields + [ + 'imports', 'history_date' + ] admin_site.register(models.Parcel, ParcelAdmin) @@ -165,10 +183,25 @@ class ReportStateAdmin(GeneralTypeAdmin): admin_site.register(models.ReportState, ReportStateAdmin) +class ParcelOwnerAdmin(HistorizedObjectAdmin): + list_display = ['parcel', 'operation', 'associated_file', + 'owner'] + search_fields = ('parcel__operation__cached_label', + 'parcel__associated_file__cached_label', + 'owner__name', 'owner__surname', 'parcel__section', + 'parcel__parcel_number') + model = models.ParcelOwner + form = make_ajax_form( + model, {'owner': 'person', + 'parcel': 'parcel'} + ) + readonly_fields = HistorizedObjectAdmin.readonly_fields + [ + 'imports', 'history_date' + ] + +admin_site.register(models.ParcelOwner, ParcelOwnerAdmin) + + general_models = [models.RemainType] for model in general_models: admin_site.register(model, GeneralTypeAdmin) - -basic_models = [models.ParcelOwner] -for model in basic_models: - admin_site.register(model) |