summaryrefslogtreecommitdiff
path: root/archaeological_operations/admin.py
diff options
context:
space:
mode:
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
commitb35c53bbf266153e478a776209e35aad36e9cd5b (patch)
treefeb7c9b7566209b175e0a6734b91692e0317b311 /archaeological_operations/admin.py
parent6044b3522b2511eae088a40338115c902a9b0f82 (diff)
downloadIshtar-b35c53bbf266153e478a776209e35aad36e9cd5b.tar.bz2
Ishtar-b35c53bbf266153e478a776209e35aad36e9cd5b.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.py43
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)