diff options
| -rw-r--r-- | archaeological_context_records/admin.py | 2 | ||||
| -rw-r--r-- | archaeological_files/admin.py | 26 | ||||
| -rw-r--r-- | archaeological_finds/admin.py | 40 | ||||
| -rw-r--r-- | archaeological_operations/admin.py | 11 | ||||
| -rw-r--r-- | archaeological_warehouse/admin.py | 11 | ||||
| -rw-r--r-- | ishtar_common/admin.py | 7 | 
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 | 
