summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-10-20 16:55:07 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-10-20 16:55:07 +0200
commit62912cc4ec70bf5ec9dc3183ce83e85ad72373fb (patch)
tree5a0d3b6d1b8eb2b8f0eda6b65eff6bc30eaf5f47
parent0b5e3b51cbd842df2fb8c01f36636c6d040aae00 (diff)
downloadIshtar-62912cc4ec70bf5ec9dc3183ce83e85ad72373fb.tar.bz2
Ishtar-62912cc4ec70bf5ec9dc3183ce83e85ad72373fb.zip
Fix automatic add of model on admin "add" page access
-rw-r--r--archaeological_context_records/admin.py2
-rw-r--r--archaeological_files/admin.py4
-rw-r--r--archaeological_finds/admin.py9
-rw-r--r--archaeological_operations/admin.py9
-rw-r--r--archaeological_warehouse/admin.py7
-rw-r--r--ishtar_common/admin.py18
6 files changed, 28 insertions, 21 deletions
diff --git a/archaeological_context_records/admin.py b/archaeological_context_records/admin.py
index 2733fa2ff..d5e4d09b9 100644
--- a/archaeological_context_records/admin.py
+++ b/archaeological_context_records/admin.py
@@ -62,7 +62,7 @@ class ContextRecordAdmin(HistorizedObjectAdmin):
model = models.ContextRecord
form = AdminContextRecordForm
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports', 'cached_label', 'datings'
+ 'cached_label', 'datings'
]
admin_site.register(models.ContextRecord, ContextRecordAdmin)
diff --git a/archaeological_files/admin.py b/archaeological_files/admin.py
index 525f7e840..4dca1afa9 100644
--- a/archaeological_files/admin.py
+++ b/archaeological_files/admin.py
@@ -48,13 +48,15 @@ class FileAdmin(HistorizedObjectAdmin):
'related_file': 'file'
})
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'raw_general_contractor', 'raw_town_planning_service', 'imports',
+ 'raw_general_contractor', 'raw_town_planning_service',
'cached_label', 'imported_line'
]
model = models.File
+
admin_site.register(models.File, FileAdmin)
+
general_models = [models.FileType, models.PermitType]
if settings.COUNTRY == 'fr':
general_models.append(models.SaisineType)
diff --git a/archaeological_finds/admin.py b/archaeological_finds/admin.py
index 6b925e41c..6f32365b9 100644
--- a/archaeological_finds/admin.py
+++ b/archaeological_finds/admin.py
@@ -51,7 +51,7 @@ class BaseFindAdmin(HistorizedObjectAdmin):
model = models.BaseFind
form = AdminBaseFindForm
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'cache_short_id', 'cache_complete_id', 'imports'
+ 'cache_short_id', 'cache_complete_id',
]
admin_site.register(models.BaseFind, BaseFindAdmin)
@@ -69,7 +69,7 @@ class FindAdmin(HistorizedObjectAdmin):
'container': 'container'
})
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports', 'datings', 'cached_label'
+ 'datings', 'cached_label'
]
admin_site.register(models.Find, FindAdmin)
@@ -97,7 +97,7 @@ class PropertyAdmin(HistorizedObjectAdmin):
'person': 'person',
})
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'administrative_act', 'imports', ]
+ 'administrative_act']
def has_add_permission(self, request):
return False
@@ -118,7 +118,7 @@ class TreatmentAdmin(HistorizedObjectAdmin):
'container': 'container',
})
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports', 'cached_label', 'downstream_lbl', 'upstream_lbl'
+ 'cached_label', 'downstream_lbl', 'upstream_lbl'
]
def has_add_permission(self, request):
@@ -140,7 +140,6 @@ class TreatmentFileAdmin(HistorizedObjectAdmin):
'applicant': 'person',
'applicant_organisation': 'organization',
})
- exclude = ['imports']
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'cached_label',
]
diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py
index f1deac188..bf1415989 100644
--- a/archaeological_operations/admin.py
+++ b/archaeological_operations/admin.py
@@ -40,7 +40,7 @@ class AdministrativeActAdmin(HistorizedObjectAdmin):
search_fields = ('year', 'index')
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'in_charge', 'operator', 'scientist', 'signatory', 'associated_file',
- 'imports', 'departments_label', 'towns_label']
+ 'departments_label', 'towns_label']
model = models.AdministrativeAct
form = make_ajax_form(
models.AdministrativeAct, {'operation': 'operation'}
@@ -69,7 +69,6 @@ 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)
@@ -112,7 +111,7 @@ class OperationAdmin(HistorizedObjectAdmin):
search_fields += ['code_patriarche']
model = models.Operation
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports', 'cached_label']
+ 'cached_label']
form = AdminOperationForm
inlines = [ArchaeologicalSiteInline]
@@ -144,7 +143,7 @@ class ParcelAdmin(HistorizedObjectAdmin):
'town': 'town'}
)
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports', 'history_date'
+ 'history_date'
]
admin_site.register(models.Parcel, ParcelAdmin)
@@ -196,7 +195,7 @@ class ParcelOwnerAdmin(HistorizedObjectAdmin):
'parcel': 'parcel'}
)
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports', 'history_date'
+ 'history_date'
]
admin_site.register(models.ParcelOwner, ParcelOwnerAdmin)
diff --git a/archaeological_warehouse/admin.py b/archaeological_warehouse/admin.py
index deaffde94..f2b44fcf0 100644
--- a/archaeological_warehouse/admin.py
+++ b/archaeological_warehouse/admin.py
@@ -36,9 +36,7 @@ class WarehouseAdmin(HistorizedObjectAdmin):
'town': 'town',
'person_in_charge': 'person'
})
- readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports'
- ]
+
admin_site.register(models.Warehouse, WarehouseAdmin)
@@ -48,6 +46,7 @@ class ContainerTypeAdmin(admin.ModelAdmin):
'volume')
model = models.ContainerType
+
admin_site.register(models.ContainerType, ContainerTypeAdmin)
@@ -56,7 +55,7 @@ class ContainerAdmin(HistorizedObjectAdmin):
list_filter = ("container_type",)
model = models.Container
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'imports', 'history_date'
+ 'history_date'
]
form = make_ajax_form(model, {
'location': 'warehouse',
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index 7cb02e1b3..2df910ffd 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -123,6 +123,16 @@ class HistorizedObjectAdmin(admin.ModelAdmin):
obj.history_modifier = request.user
obj.save()
+ def get_readonly_fields(self, request, obj=None):
+ if obj: # editing an existing object
+ return tuple(self.readonly_fields or []) + tuple(['imports'])
+ return self.readonly_fields
+
+ def get_exclude(self, request, obj=None):
+ if not obj:
+ return tuple(self.exclude or []) + tuple(['imports'])
+ return self.exclude
+
class MyGroupAdmin(GroupAdmin):
class Media:
@@ -156,7 +166,6 @@ class OrganizationAdmin(HistorizedObjectAdmin):
list_filter = ("organization_type",)
search_fields = ('name',)
exclude = ('merge_key', 'merge_exclusion', 'merge_candidate', )
- readonly_fields = HistorizedObjectAdmin.readonly_fields + ['imports']
model = models.Organization
admin_site.register(models.Organization, OrganizationAdmin)
@@ -167,7 +176,6 @@ class PersonAdmin(HistorizedObjectAdmin):
list_filter = ("person_types",)
search_fields = ('name', 'surname', 'email', 'raw_name')
exclude = ('merge_key', 'merge_exclusion', 'merge_candidate', )
- readonly_fields = HistorizedObjectAdmin.readonly_fields + ['imports']
form = make_ajax_form(models.Person, {'attached_to': 'organization'})
model = models.Person
@@ -185,7 +193,7 @@ class AdminRelatedTownForm(forms.ModelForm):
class AdminTownForm(forms.ModelForm):
class Meta:
model = models.Town
- exclude = []
+ exclude = ['imports']
center = PointField(label=_(u"center"), required=False,
widget=OSMWidget)
children = AutoCompleteSelectMultipleField('town', required=False,
@@ -202,14 +210,14 @@ class TownParentInline(admin.TabularInline):
class TownAdmin(admin.ModelAdmin):
+ model = models.Town
list_display = ['name', ]
search_fields = ['name']
+ readonly_fields = ['cached_label']
if settings.COUNTRY == 'fr':
list_display += ['numero_insee', 'departement', ]
search_fields += ['numero_insee', 'departement__label', ]
list_filter = ("departement",)
- readonly_fields = ['cached_label', 'imports']
- model = models.Town
form = AdminTownForm
inlines = [TownParentInline]