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 | 658fc191a03416eedf7cbe808d539af589123e8e (patch) | |
| tree | a7403c8968011f51cbc4a3b9d9a6b1001e4f721b /archaeological_operations/forms.py | |
| parent | 1f49ac758d42cd924dd1df39af58835b80f1f77e (diff) | |
| download | Ishtar-658fc191a03416eedf7cbe808d539af589123e8e.tar.bz2 Ishtar-658fc191a03416eedf7cbe808d539af589123e8e.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  | 
