diff options
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 |
commit | fe2a6ea1d32042a9f60fd2434cc465ffd9ab0d39 (patch) | |
tree | a7403c8968011f51cbc4a3b9d9a6b1001e4f721b /archaeological_operations/forms.py | |
parent | ff60c200ddc406250c335de3b59a56b9327a16ec (diff) | |
download | Ishtar-fe2a6ea1d32042a9f60fd2434cc465ffd9ab0d39.tar.bz2 Ishtar-fe2a6ea1d32042a9f60fd2434cc465ffd9ab0d39.zip |
Custom form: operations forms
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r-- | archaeological_operations/forms.py | 85 |
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 |