summaryrefslogtreecommitdiff
path: root/archaeological_finds/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/admin.py')
-rw-r--r--archaeological_finds/admin.py99
1 files changed, 37 insertions, 62 deletions
diff --git a/archaeological_finds/admin.py b/archaeological_finds/admin.py
index 717422573..f56c108d8 100644
--- a/archaeological_finds/admin.py
+++ b/archaeological_finds/admin.py
@@ -17,10 +17,6 @@
# See the file COPYING for details.
-from ajax_select import make_ajax_form
-from ajax_select.fields import AutoCompleteSelectField, \
- AutoCompleteSelectMultipleField
-
from django import forms
from django.contrib import admin
from django.contrib.gis.forms import PointField, MultiPolygonField, \
@@ -43,7 +39,6 @@ class AdminBaseFindForm(forms.ModelForm):
widget=OSMWidget)
multi_polygon = MultiPolygonField(label=_("Multi polygon"), required=False,
widget=OSMWidget)
- context_record = AutoCompleteSelectField('context_record')
class BaseFindAdmin(HistorizedObjectAdmin):
@@ -51,6 +46,7 @@ class BaseFindAdmin(HistorizedObjectAdmin):
search_fields = ('label', 'cache_complete_id',)
model = models.BaseFind
form = AdminBaseFindForm
+ autocomplete_fields = ("context_record",)
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'cache_short_id', 'cache_complete_id',
]
@@ -66,12 +62,12 @@ class FindBasketAdmin(admin.ModelAdmin):
list_display = ["label", "user"]
search_fields = ('label', 'user__person__raw_name',)
readonly_fields = ["search_vector"]
- form = make_ajax_form(models.FindBasket, {
- 'user': 'ishtaruser',
- 'shared_with': 'ishtaruser',
- 'shared_write_with': 'ishtaruser',
- 'items': 'find',
- })
+ autocomplete_fields = (
+ 'user',
+ 'shared_with',
+ 'shared_write_with',
+ 'items',
+ )
admin_site.register(models.FindBasket, FindBasketAdmin)
@@ -81,22 +77,19 @@ class FindAdmin(HistorizedObjectAdmin):
list_display = ('label', 'operations_lbl', 'context_records_lbl', 'index',
'dating', 'materials')
list_filter = ('datings__period', 'material_types')
- search_fields = ('label', "base_finds__cache_complete_id",
- "base_finds__context_record__operation__cached_label")
+ search_fields = ('cached_label', "base_finds__cache_complete_id")
model = models.Find
- ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy()
- ajax_form_dict.update({
- 'base_finds': 'base_find',
- 'container': 'container',
- 'container_ref': 'container',
- 'material_types': 'material_type',
- 'upstream_treatment': 'treatment',
- 'downstream_treatment': 'treatment',
- 'treatments': 'treatment',
- 'main_image': 'document',
- 'documents': 'document',
- })
- form = make_ajax_form(model, ajax_form_dict)
+ autocomplete_fields = HistorizedObjectAdmin.autocomplete_fields + [
+ 'base_finds',
+ 'container',
+ 'container_ref',
+ 'material_types',
+ 'upstream_treatment',
+ 'downstream_treatment',
+ 'treatments',
+ 'main_image',
+ 'documents',
+ ]
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'datings', 'cached_label'
]
@@ -109,10 +102,7 @@ class PropertyAdmin(HistorizedObjectAdmin):
list_display = ['find', 'person', 'start_date', 'end_date']
search_fields = ('find__label', 'person__name')
model = models.Property
- form = make_ajax_form(model, {
- 'find': 'find',
- 'person': 'person',
- })
+ autocomplete_fields = ("find", "person")
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'administrative_act']
@@ -123,31 +113,24 @@ 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',
'downstream_lbl', 'upstream_lbl', 'container', 'person')
list_filter = ('treatment_types', 'treatment_state', 'year')
model = models.Treatment
- form = AdminTreatmentForm
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'cached_label', 'downstream_lbl', 'upstream_lbl',
]
exclude = ["documents", "main_image"]
+ search_fields = ("cached_label",)
+ autocomplete_fields = HistorizedObjectAdmin.autocomplete_fields + [
+ "person",
+ "organization",
+ "file",
+ "location",
+ "container",
+ "scientific_monitoring_manager",
+ ]
def has_add_permission(self, request):
return False
@@ -164,13 +147,11 @@ class TreatmentFileAdmin(HistorizedObjectAdmin):
'applicant__raw_name', 'applicant_organisation__name',
'cached_label')
model = models.TreatmentFile
- 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)
+ autocomplete_fields = HistorizedObjectAdmin.autocomplete_fields + [
+ 'in_charge',
+ 'applicant',
+ 'applicant_organisation',
+ ]
readonly_fields = HistorizedObjectAdmin.readonly_fields + [
'cached_label',
]
@@ -182,9 +163,7 @@ admin_site.register(models.TreatmentFile, TreatmentFileAdmin)
class ObjectTypeAdmin(GeneralTypeAdmin):
model = models.ObjectType
- form = make_ajax_form(model, {
- 'parent': 'object_type',
- })
+ autocomplete_fields = ("parent",)
admin_site.register(models.ObjectType, ObjectTypeAdmin)
@@ -192,9 +171,7 @@ admin_site.register(models.ObjectType, ObjectTypeAdmin)
class FunctionalAreaAdmin(GeneralTypeAdmin):
model = models.FunctionalArea
- form = make_ajax_form(model, {
- 'parent': 'functional_area',
- })
+ autocomplete_fields = ("parent",)
admin_site.register(models.FunctionalArea, FunctionalAreaAdmin)
@@ -203,9 +180,7 @@ admin_site.register(models.FunctionalArea, FunctionalAreaAdmin)
class MaterialTypeAdmin(GeneralTypeAdmin):
search_fields = ('label', 'parent__label', 'comment',)
model = models.MaterialType
- form = make_ajax_form(model, {
- 'parent': 'material_type',
- })
+ autocomplete_fields = ("parent",)
extra_list_display = ['recommendation']