summaryrefslogtreecommitdiff
path: root/archaeological_operations/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r--archaeological_operations/forms.py122
1 files changed, 11 insertions, 111 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 6aa1da77b..cbaa37310 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -20,41 +20,34 @@
"""
Operations forms definitions
"""
-from collections import OrderedDict
import datetime
+from collections import OrderedDict
from itertools import groupby
from django import forms
from django.conf import settings
from django.core import validators
from django.db.models import Max
-
from django.forms.formsets import formset_factory, DELETION_FIELD_NAME, \
TOTAL_FORM_COUNT
-from django.utils.translation import ugettext_lazy as _, pgettext_lazy
from django.utils.safestring import mark_safe
+from django.utils.translation import ugettext_lazy as _, pgettext_lazy
+import models
+from archaeological_files.models import File
+from archaeological_operations.utils import parse_parcels
+from bootstrap_datepicker.widgets import DateField
+from ishtar_common import widgets
+from ishtar_common.forms import FinalForm, FormSet, get_now, \
+ reverse_lazy, TableSelect, get_data_from_formset, \
+ ManageOldType, IshtarForm, CustomForm, FieldType
+from ishtar_common.forms_common import TownFormSet, get_town_field, TownForm
from ishtar_common.models import valid_id, Person, Town, \
DocumentTemplate, Organization, get_current_profile, \
person_type_pks_lazy, person_type_pk_lazy, organization_type_pks_lazy, \
organization_type_pk_lazy
-
from ishtar_common.wizards import MultiValueDict
-from bootstrap_datepicker.widgets import DateField
-
-from archaeological_files.models import File
-import models
-
from widgets import ParcelWidget, SelectParcelWidget, OAWidget
-from ishtar_common import widgets
-
-from ishtar_common.forms import FinalForm, FormSet, get_now, \
- reverse_lazy, get_form_selection, TableSelect, get_data_from_formset, \
- ManageOldType, IshtarForm, CustomForm, FieldType, FormSetWithDeleteSwitches
-from ishtar_common.forms_common import TownFormSet, SourceForm, SourceSelect, \
- get_town_field, TownForm, BaseImageForm, BaseImageFormset
-
-from archaeological_operations.utils import parse_parcels
class ParcelField(forms.MultiValueField):
@@ -1022,14 +1015,6 @@ class CollaboratorForm(CustomForm, IshtarForm):
self.fields['collaborator'].widget.attrs['full-width'] = True
-ImagesFormset = formset_factory(BaseImageForm, can_delete=True,
- formset=BaseImageFormset)
-ImagesFormset.file_upload = True
-ImagesFormset.form_label = _(u"Images")
-ImagesFormset.form_admin_name = _(u"Operation - 025 - Images")
-ImagesFormset.form_slug = "operation-025-images"
-
-
class OperationFormPreventive(CustomForm, IshtarForm):
form_label = _(u"Preventive informations - excavation")
form_admin_name = _(u"Operation - 033 - Preventive - Excavation")
@@ -1348,14 +1333,6 @@ SiteTownFormset.form_admin_name = _(u"Archaeological site - 020 - Towns")
SiteTownFormset.form_slug = u"archaeological_site-020-towns"
-SiteImagesFormset = formset_factory(BaseImageForm, can_delete=True,
- formset=BaseImageFormset)
-SiteImagesFormset.file_upload = True
-SiteImagesFormset.form_label = _(u"Images")
-SiteImagesFormset.form_admin_name = _(u"Archaeological site - 025 - Images")
-SiteImagesFormset.form_slug = "archaeological_site-025-images"
-
-
def check_underwater_module(self):
return get_current_profile().underwater
@@ -1379,83 +1356,6 @@ class SiteUnderwaterForm(ManageOldType):
)
-####################################
-# Source management for operations #
-####################################
-
-
-class OperationSourceForm(SourceForm):
- form_slug = "operationsource-general"
- pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
- index = forms.IntegerField(label=_(u"Index"))
- hidden_operation_id = forms.IntegerField(label="",
- widget=forms.HiddenInput)
-
- def __init__(self, *args, **kwargs):
- super(OperationSourceForm, self).__init__(*args, **kwargs)
- fields = OrderedDict()
- idx = self.fields.pop('index')
- for key, value in self.fields.items():
- fields[key] = value
- if key == 'source_type':
- fields['index'] = idx
- self.fields = fields
-
- def clean(self):
- # manage unique operation ID
- cleaned_data = self.cleaned_data
- operation_id = cleaned_data.get("hidden_operation_id")
- index = cleaned_data.get("index")
- srcs = models.OperationSource.objects\
- .filter(index=index,
- operation__pk=operation_id)
- if 'pk' in cleaned_data and cleaned_data['pk']:
- srcs = srcs.exclude(pk=cleaned_data['pk'])
- if srcs.count():
- max_val = models.OperationSource.objects\
- .filter(operation__pk=operation_id)\
- .aggregate(Max('index'))["index__max"]
- operation = models.Operation.objects.get(pk=operation_id)
- raise forms.ValidationError(
- _(u"Index already exists for operation: %(operation)s - use a "
- u"value bigger than %(last_val)d") % {
- "operation": unicode(operation), 'last_val': max_val})
- return cleaned_data
-
-
-SourceOperationFormSelection = get_form_selection(
- 'SourceOperationFormSelection', _(u"Operation search"), 'operation',
- models.Operation, OperationSelect, 'get-operation',
- _(u"You should select an operation."))
-
-
-class OperationSourceSelect(SourceSelect):
- operation__year = forms.IntegerField(label=_(u"Operation's year"))
- operation__operation_code = forms.IntegerField(
- label=_(u"Numeric reference"))
- if settings.COUNTRY == 'fr':
- operation__code_patriarche = forms.CharField(
- max_length=500,
- widget=OAWidget,
- label="Code PATRIARCHE")
- operation__towns = get_town_field(label=_(u"Operation's town"))
- operation__operation_type = forms.ChoiceField(label=_(u"Operation type"),
- choices=[])
-
- def __init__(self, *args, **kwargs):
- super(OperationSourceSelect, self).__init__(*args, **kwargs)
- self.fields['operation__operation_type'].choices = \
- models.OperationType.get_types()
- self.fields['operation__operation_type'].help_text = \
- models.OperationType.get_help()
-
-
-OperationSourceFormSelection = get_form_selection(
- 'OperationSourceFormSelection', _(u"Documentation search"), 'pk',
- models.OperationSource, OperationSourceSelect, 'get-operationsource',
- _(u"You should select a document."),
- get_full_url='get-operationsource-full')
-
################################################
# Administrative act management for operations #
################################################