summaryrefslogtreecommitdiff
path: root/archaeological_operations/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-11-21 16:56:36 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-11-21 16:56:36 +0100
commitfe2a6ea1d32042a9f60fd2434cc465ffd9ab0d39 (patch)
treea7403c8968011f51cbc4a3b9d9a6b1001e4f721b /archaeological_operations/forms.py
parentff60c200ddc406250c335de3b59a56b9327a16ec (diff)
downloadIshtar-fe2a6ea1d32042a9f60fd2434cc465ffd9ab0d39.tar.bz2
Ishtar-fe2a6ea1d32042a9f60fd2434cc465ffd9ab0d39.zip
Custom form: operations forms
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r--archaeological_operations/forms.py85
1 files changed, 45 insertions, 40 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 4dd896966..6966fff50 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -477,6 +477,8 @@ class RecordRelationsFormSetBase(FormSet):
RecordRelationsFormSet = formset_factory(
RecordRelationsForm, can_delete=True, formset=RecordRelationsFormSetBase)
RecordRelationsFormSet.form_label = _(u"Relations")
+RecordRelationsFormSet.form_admin_name = _("Operations - Relations")
+RecordRelationsFormSet.form_slug = "operation-relations"
class OperationSelect(TableSelect):
@@ -675,12 +677,15 @@ class OperationFormFileChoice(forms.Form):
validators=[valid_id(File)], required=False)
-class OperationFormAbstract(forms.Form):
+class OperationFormAbstract(CustomForm, forms.Form):
form_label = _(u"Abstract")
+ form_admin_name = _("Operations - Abstract")
+ form_slug = "operation-abstract"
abstract = forms.CharField(
label=_(u"Abstract"),
widget=forms.Textarea(attrs={'class': 'xlarge'}), required=False)
+
SLICING = (("month", _(u"months")), ('year', _(u"years")),)
DATE_SOURCE = (('creation', _(u"Creation date")),
@@ -763,8 +768,8 @@ class DashboardForm(forms.Form):
class OperationFormGeneral(ManageOldType, CustomForm, forms.Form):
form_label = _(u"General")
- form_admin_name = _(u"Operation - General - Creation")
- form_slug = "operation-general-creation"
+ form_admin_name = _(u"Operation - General")
+ form_slug = "operation-general"
file_upload = True
associated_models = {'scientist': Person,
@@ -978,9 +983,6 @@ class OperationFormGeneral(ManageOldType, CustomForm, forms.Form):
class OperationFormModifGeneral(OperationFormGeneral):
- form_admin_name = _(u"Operation - General - Modification")
- form_slug = "operation-general-modification"
-
operation_code = forms.IntegerField(label=_(u"Operation code"),
required=False)
currents = {'associated_file': File}
@@ -1078,6 +1080,7 @@ class SelectedTownForm(forms.Form):
SelectedTownFormset = formset_factory(SelectedTownForm, can_delete=True,
formset=TownFormSet)
SelectedTownFormset.form_label = _(u"Towns")
+SelectedTownFormset.form_slug = "towns"
class SelectedParcelForm(forms.Form):
@@ -1094,13 +1097,17 @@ class SelectedParcelForm(forms.Form):
if parcels:
self.fields['parcel'].choices = [('', '--')] + parcels
+
SelectedParcelFormSet = formset_factory(SelectedParcelForm, can_delete=True,
formset=ParcelFormSet)
SelectedParcelFormSet.form_label = _("Parcels")
+SelectedParcelFormSet.form_admin_name = _(u"Operations - Parcels")
+SelectedParcelFormSet.form_slug = "operation-parcels"
SelectedParcelGeneralFormSet = formset_factory(ParcelForm, can_delete=True,
formset=ParcelFormSet)
-SelectedParcelGeneralFormSet.form_label = _("Parcels")
+SelectedParcelGeneralFormSet.form_admin_name = _("Parcels")
+SelectedParcelGeneralFormSet.form_slug = "operation-parcels"
"""
class SelectedParcelFormSet(forms.Form):
@@ -1128,36 +1135,36 @@ class SelectedParcelFormSet(forms.Form):
"""
-class RemainForm(ManageOldType, forms.Form):
+class RemainForm(CustomForm, ManageOldType, forms.Form):
form_label = _("Remain types")
+ form_admin_name = _("Operations - Remains")
+ form_slug = "operation-remains"
+
base_model = 'remain'
associated_models = {'remain': models.RemainType}
remain = forms.MultipleChoiceField(
label=_("Remain type"), required=False, choices=[],
widget=forms.CheckboxSelectMultiple)
- def __init__(self, *args, **kwargs):
- super(RemainForm, self).__init__(*args, **kwargs)
- self.fields['remain'].choices = models.RemainType.get_types(
- initial=self.init_data.get('remain'),
- empty_first=False)
- self.fields['remain'].help_text = models.RemainType.get_help()
+ TYPES = [
+ FieldType('remain', models.RemainType, True),
+ ]
-class PeriodForm(ManageOldType, forms.Form):
+class PeriodForm(CustomForm, ManageOldType, forms.Form):
form_label = _("Periods")
+ form_admin_name = _("Operations - Periods")
+ form_slug = "operation-periods"
+
base_model = 'period'
associated_models = {'period': models.Period}
period = forms.MultipleChoiceField(
label=_("Period"), required=False, choices=[],
widget=forms.CheckboxSelectMultiple)
- def __init__(self, *args, **kwargs):
- super(PeriodForm, self).__init__(*args, **kwargs)
- self.fields['period'].choices = models.Period.get_types(
- initial=self.init_data.get('period'),
- empty_first=False)
- self.fields['period'].help_text = models.Period.get_help()
+ TYPES = [
+ FieldType('period', models.Period, True),
+ ]
class ArchaeologicalSiteForm(ManageOldType, forms.Form):
@@ -1170,21 +1177,16 @@ class ArchaeologicalSiteForm(ManageOldType, forms.Form):
label=_("Remains"), choices=[], widget=widgets.Select2Multiple,
required=False)
+ TYPES = [
+ FieldType('periods', models.Period, True),
+ FieldType('remains', models.RemainType, True),
+ ]
+
def __init__(self, *args, **kwargs):
self.limits = {}
if 'limits' in kwargs:
kwargs.pop('limits')
super(ArchaeologicalSiteForm, self).__init__(*args, **kwargs)
- self.fields['periods'].choices = \
- models.Period.get_types(
- empty_first=False,
- initial=self.init_data.get('periods'))
- self.fields['periods'].help_text = models.Period.get_help()
- self.fields['remains'].choices = \
- models.RemainType.get_types(
- initial=self.init_data.get('remains'),
- empty_first=False)
- self.fields['remains'].help_text = models.RemainType.get_help()
def clean_reference(self):
reference = self.cleaned_data['reference']
@@ -1253,6 +1255,9 @@ class OperationDeletionForm(FinalForm):
class OperationSourceForm(SourceForm):
+ form_admin_name = _("Operation Sources - Main")
+ form_slug = "operation-source-relations"
+
pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
index = forms.IntegerField(label=_(u"Index"))
hidden_operation_id = forms.IntegerField(label="",
@@ -1400,8 +1405,11 @@ class AdministrativeActOpeFormSelection(forms.Form):
return cleaned_data
-class AdministrativeActOpeForm(ManageOldType, forms.Form):
+class AdministrativeActOpeForm(CustomForm, ManageOldType, forms.Form):
form_label = _("General")
+ form_admin_name = _("Operations - Administrative act - General")
+ form_slug = "operation-adminact-general"
+
associated_models = {'act_type': models.ActType, }
# 'signatory':Person}
act_type = forms.ChoiceField(label=_("Act type"), choices=[])
@@ -1417,13 +1425,10 @@ class AdministrativeActOpeForm(ManageOldType, forms.Form):
ref_sra = forms.CharField(label=u"Autre référence", max_length=15,
required=False)
- def __init__(self, *args, **kwargs):
- super(AdministrativeActOpeForm, self).__init__(*args, **kwargs)
- self.fields['act_type'].choices = models.ActType.get_types(
- initial=self.init_data.get('act_type'),
- dct={'intented_to': 'O'})
- self.fields['act_type'].help_text = models.ActType.get_help(
- dct={'intented_to': 'O'})
+ TYPES = [
+ FieldType('act_type', models.ActType,
+ extra_args={"dct": {'intented_to': 'O'}}),
+ ]
class AdministrativeActModifForm(object):
@@ -1439,7 +1444,7 @@ class AdministrativeActModifForm(object):
def clean(self):
# manage unique act ID
- year = self.cleaned_data.get("signature_date")
+ year = self.cleaned_data.get("signature_date", None)
if not year or not hasattr(year, 'year'):
return self.cleaned_data
year = year.year