summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/admin.py2
-rw-r--r--archaeological_files/admin.py26
-rw-r--r--archaeological_finds/admin.py40
-rw-r--r--archaeological_operations/admin.py11
-rw-r--r--archaeological_warehouse/admin.py11
-rw-r--r--ishtar_common/admin.py7
6 files changed, 70 insertions, 27 deletions
diff --git a/archaeological_context_records/admin.py b/archaeological_context_records/admin.py
index 3c980d550..9bd2f5c05 100644
--- a/archaeological_context_records/admin.py
+++ b/archaeological_context_records/admin.py
@@ -56,6 +56,7 @@ class AdminContextRecordForm(forms.ModelForm):
town = AutoCompleteSelectField('town', required=False)
archaeological_site = AutoCompleteSelectField('archaeological_site',
required=False)
+ lock_user = AutoCompleteSelectField('user', required=False)
class ContextRecordAdmin(HistorizedObjectAdmin):
@@ -68,6 +69,7 @@ class ContextRecordAdmin(HistorizedObjectAdmin):
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'cached_label', 'datings'
]
+ exclude = ["documents", "main_image"]
admin_site.register(models.ContextRecord, ContextRecordAdmin)
diff --git a/archaeological_files/admin.py b/archaeological_files/admin.py
index 58c1791c0..b5709bd65 100644
--- a/archaeological_files/admin.py
+++ b/archaeological_files/admin.py
@@ -35,22 +35,26 @@ class FileAdmin(HistorizedObjectAdmin):
if settings.COUNTRY == 'fr':
list_filter += ['saisine_type']
search_fields = ('name', 'towns__name', 'permit_reference')
+ ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy()
+ ajax_form_dict.update({
+ 'in_charge': 'person',
+ 'general_contractor': 'person',
+ 'corporation_general_contractor': 'organization',
+ 'responsible_town_planning_service': 'person',
+ 'planning_service': 'organization',
+ 'organization': 'organization',
+ 'scientist': 'person',
+ 'main_town': 'town',
+ 'towns': 'town',
+ 'related_file': 'file'
+ })
form = make_ajax_form(
- models.File, {'in_charge': 'person',
- 'general_contractor': 'person',
- 'corporation_general_contractor': 'organization',
- 'responsible_town_planning_service': 'person',
- 'planning_service': 'organization',
- 'organization': 'organization',
- 'scientist': 'person',
- 'main_town': 'town',
- 'towns': 'town',
- 'related_file': 'file'
- })
+ models.File, ajax_form_dict)
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'raw_general_contractor', 'raw_town_planning_service',
'cached_label', 'imported_line'
]
+ exclude = ["documents", "main_image"]
model = models.File
diff --git a/archaeological_finds/admin.py b/archaeological_finds/admin.py
index f129881e8..1da39ed82 100644
--- a/archaeological_finds/admin.py
+++ b/archaeological_finds/admin.py
@@ -18,7 +18,8 @@
# See the file COPYING for details.
from ajax_select import make_ajax_form
-from ajax_select.fields import AutoCompleteSelectField
+from ajax_select.fields import AutoCompleteSelectField, \
+ AutoCompleteSelectMultipleField
from django import forms
from django.contrib import admin
@@ -84,7 +85,8 @@ class FindAdmin(HistorizedObjectAdmin):
search_fields = ('label', "base_finds__cache_complete_id",
"base_finds__context_record__operation__cached_label")
model = models.Find
- form = make_ajax_form(model, {
+ ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy()
+ ajax_form_dict.update({
'base_finds': 'base_find',
'container': 'container',
'container_ref': 'container',
@@ -95,6 +97,7 @@ class FindAdmin(HistorizedObjectAdmin):
'main_image': 'document',
'documents': 'document',
})
+ form = make_ajax_form(model, ajax_form_dict)
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'datings', 'cached_label'
]
@@ -121,21 +124,31 @@ class PropertyAdmin(HistorizedObjectAdmin):
admin_site.register(models.Property, PropertyAdmin)
+class AdminTreatmentForm(forms.ModelForm):
+ class Meta:
+ model = models.Treatment
+ exclude = []
+ person = AutoCompleteSelectField('person', required=False)
+ organization = AutoCompleteSelectField('organization', required=False)
+ file = AutoCompleteSelectField('treatment_file', required=False)
+ location = AutoCompleteSelectField("warehouse", required=False)
+ container = AutoCompleteSelectField("container", required=False)
+ scientific_monitoring_manager = AutoCompleteSelectField("person",
+ required=False)
+ # finds = AutoCompleteSelectMultipleField("find", required=False)
+ lock_user = AutoCompleteSelectField("user", required=False)
+
+
class TreatmentAdmin(HistorizedObjectAdmin):
- list_display = ('year', 'index', 'label','treatment_types_lbl', 'location',
+ list_display = ('year', 'index', 'label', 'treatment_types_lbl', 'location',
'downstream_lbl', 'upstream_lbl', 'container', 'person')
list_filter = ('treatment_types', 'treatment_state', 'year')
model = models.Treatment
- form = make_ajax_form(model, {
- 'person': 'person',
- 'organization': 'organization',
- 'file': 'treatment_file',
- 'location': 'warehouse',
- 'container': 'container',
- })
+ form = AdminTreatmentForm
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'cached_label', 'downstream_lbl', 'upstream_lbl'
+ 'cached_label', 'downstream_lbl', 'upstream_lbl',
]
+ exclude = ["documents", "main_image"]
def has_add_permission(self, request):
return False
@@ -152,14 +165,17 @@ class TreatmentFileAdmin(HistorizedObjectAdmin):
'applicant__raw_name', 'applicant_organisation__name',
'cached_label')
model = models.TreatmentFile
- form = make_ajax_form(model, {
+ ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy()
+ ajax_form_dict.update({
'in_charge': 'person',
'applicant': 'person',
'applicant_organisation': 'organization',
})
+ form = make_ajax_form(model, ajax_form_dict)
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'cached_label',
]
+ exclude = ["documents", "main_image"]
admin_site.register(models.TreatmentFile, TreatmentFileAdmin)
diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py
index 7d32f6039..057936fc8 100644
--- a/archaeological_operations/admin.py
+++ b/archaeological_operations/admin.py
@@ -73,6 +73,13 @@ class ArchaeologicalSiteAdmin(HistorizedObjectAdmin):
search_fields = ('name', 'reference')
model = models.ArchaeologicalSite
inlines = [OperationInline]
+ ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy()
+ ajax_form_dict.update({
+ 'towns': 'town',
+ })
+ form = make_ajax_form(
+ models.ArchaeologicalSite, ajax_form_dict)
+ exclude = ["documents", "main_image"]
admin_site.register(models.ArchaeologicalSite, ArchaeologicalSiteAdmin)
@@ -103,6 +110,7 @@ class AdminOperationForm(forms.ModelForm):
'archaeological_site', required=False)
if settings.COUNTRY == 'fr':
cira_rapporteur = AutoCompleteSelectField('person', required=False)
+ lock_user = AutoCompleteSelectField('user', required=False)
class OperationAdmin(HistorizedObjectAdmin):
@@ -115,9 +123,10 @@ class OperationAdmin(HistorizedObjectAdmin):
search_fields += ['code_patriarche']
model = models.Operation
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
- 'cached_label']
+ 'cached_label', 'top_sites']
form = AdminOperationForm
inlines = [ArchaeologicalSiteInline]
+ exclude = ["documents", "main_image"]
admin_site.register(models.Operation, OperationAdmin)
diff --git a/archaeological_warehouse/admin.py b/archaeological_warehouse/admin.py
index 1284fe676..22e53490b 100644
--- a/archaeological_warehouse/admin.py
+++ b/archaeological_warehouse/admin.py
@@ -37,11 +37,15 @@ class WarehouseAdmin(HistorizedObjectAdmin):
list_filter = ('warehouse_type',)
search_fields = ('name', 'town')
model = models.Warehouse
- form = make_ajax_form(model, {
+ ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy()
+ ajax_form_dict.update({
'town': 'town',
+ 'precise_town': 'town',
'person_in_charge': 'person'
})
+ form = make_ajax_form(model, ajax_form_dict)
inlines = [DivisionInline]
+ exclude = ["documents", "main_image"]
admin_site.register(models.Warehouse, WarehouseAdmin)
@@ -63,10 +67,13 @@ class ContainerAdmin(HistorizedObjectAdmin):
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'history_date'
]
- form = make_ajax_form(model, {
+ ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy()
+ ajax_form_dict.update({
'location': 'warehouse',
'responsible': 'warehouse'
})
+ form = make_ajax_form(model, ajax_form_dict)
+ exclude = ["documents", "main_image"]
admin_site.register(models.Container, ContainerAdmin)
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index 2cf189d2d..71dc2cbdc 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -211,7 +211,12 @@ admin_site.register(Token, TokenAdmin)
class HistorizedObjectAdmin(admin.ModelAdmin):
- readonly_fields = ['history_creator', 'history_modifier', 'search_vector']
+ readonly_fields = ['history_creator', 'history_modifier', 'search_vector',
+ 'history_m2m']
+
+ AJAX_FORM_DICT = {
+ 'lock_user': 'user',
+ }
def save_model(self, request, obj, form, change):
obj.history_modifier = request.user