diff options
Diffstat (limited to 'ishtar/furnitures/forms_operations.py')
-rw-r--r-- | ishtar/furnitures/forms_operations.py | 53 |
1 files changed, 35 insertions, 18 deletions
diff --git a/ishtar/furnitures/forms_operations.py b/ishtar/furnitures/forms_operations.py index c69c62e84..17fd8f69d 100644 --- a/ishtar/furnitures/forms_operations.py +++ b/ishtar/furnitures/forms_operations.py @@ -36,7 +36,8 @@ import models import widgets from forms import Wizard, FinalForm, FormSet, SearchWizard, ClosingWizard, \ DeletionWizard, formset_factory, get_now, reverse_lazy, clean_duplicated -from forms_common import TownForm, TownFormSet, ParcelFormSet, ParcelForm +from forms_common import TownForm, TownFormSet, ParcelFormSet, ParcelForm,\ + get_town_field def is_preventive(form_name, model, type_key='operation_type', key=''): def func(self, request, storage): @@ -187,16 +188,18 @@ class OperationWizard(Wizard): return datas class OperationSelect(forms.Form): - towns = forms.IntegerField(label=_(u"Town"), - widget=widgets.JQueryAutoComplete("/" + settings.URL_PATH + \ - 'autocomplete-town', associated_model=models.Town), - validators=[models.valid_id(models.Town)]) + towns = get_town_field() operation_type = forms.ChoiceField(label=_("Operation type"), - choices=models.OperationType.get_types()) + choices=[]) remains = forms.ChoiceField(label=_("Remains"), choices=models.RemainType.get_types()) year = forms.IntegerField(label=_("Year")) + def __init__(self, *args, **kwargs): + super(OperationSelect, self).__init__(*args, **kwargs) + self.fields['operation_type'].choices = models.OperationType.get_types() + self.fields['operation_type'].help_text = models.OperationType.get_help() + class OperationFormSelection(forms.Form): form_label = _(u"Operation search") associated_models = {'pk':models.Operation} @@ -225,25 +228,30 @@ class OperationFormGeneral(forms.Form): unicode(models.PersonType.objects.get(txt_idx='sra_agent').pk)])]), associated_model=models.Person, new=True), validators=[models.valid_id(models.Person)], required=False) - associated_file = forms.IntegerField(label=_("Archaelogical file"), + associated_file = forms.IntegerField(label=_(u"Archaelogical file"), widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-file'), associated_model=models.File), validators=[models.valid_id(models.File)], required=False) - operation_type = forms.ChoiceField(label=_("Operation type"), - choices=models.OperationType.get_types()) + operation_type = forms.ChoiceField(label=_(u"Operation type"), + choices=[]) start_date = forms.DateField(label=_(u"Start date"), required=False, widget=widgets.JQueryDate) surface = forms.IntegerField(required=False, widget=widgets.AreaWidget, label=_(u"Total surface"), validators=[validators.MinValueValidator(0), validators.MaxValueValidator(999999999)]) - year = forms.IntegerField(label=_("Year"), + year = forms.IntegerField(label=_(u"Year"), initial=lambda:datetime.datetime.now().year, validators=[validators.MinValueValidator(1900), validators.MaxValueValidator(2100)]) comment = forms.CharField(label=_(u"Comment"), widget=forms.Textarea, required=False) + def __init__(self, *args, **kwargs): + super(OperationFormGeneral, self).__init__(*args, **kwargs) + self.fields['operation_type'].choices = models.OperationType.get_types() + self.fields['operation_type'].help_text = models.OperationType.get_help() + class OperationFormReference(forms.Form): form_label = _("References") associated_models = {'in_charge':models.Person, @@ -529,12 +537,15 @@ class OperationEditAdministrativeActWizard(OperationAdministrativeActWizard): return self.get_current_object(request, storage).operation class AdministrativeActOpeSelect(forms.Form): - operation__towns = forms.IntegerField(label=_(u"Town"), - widget=widgets.JQueryAutoComplete("/" + settings.URL_PATH + \ - 'autocomplete-town', associated_model=models.Town), - validators=[models.valid_id(models.Town)]) - act_type = forms.ChoiceField(label=_("Act type"), - choices=models.ActType.get_types(dct={'intented_to':'O'})) + operation__towns = get_town_field() + act_type = forms.ChoiceField(label=_("Act type"), choices=[]) + + def __init__(self, *args, **kwargs): + super(AdministrativeActOpeSelect, self).__init__(*args, **kwargs) + self.fields['act_type'].choices = models.ActType.get_types( + dct={'intented_to':'O'}) + self.fields['act_type'].help_text = models.ActType.get_help( + dct={'intented_to':'O'}) class AdministrativeActOpeFormSelection(forms.Form): form_label = _("Administrative act search") @@ -557,8 +568,7 @@ class AdministrativeActOpeForm(forms.Form): form_label = _("General") associated_models = {'act_type':models.ActType, 'signatory':models.Person} - act_type = forms.ChoiceField(label=_("Act type"), - choices=models.ActType.get_types(dct={'intented_to':'O'})) + act_type = forms.ChoiceField(label=_("Act type"), choices=[]) signatory = forms.IntegerField(label=_("Signatory"), widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-person'), associated_model=models.Person, new=True), @@ -570,6 +580,13 @@ class AdministrativeActOpeForm(forms.Form): if settings.COUNTRY == 'fr': ref_sra = forms.CharField(label=u"Référence SRA", max_length=15) + def __init__(self, *args, **kwargs): + super(AdministrativeActOpeForm, self).__init__(*args, **kwargs) + self.fields['act_type'].choices = models.ActType.get_types( + dct={'intented_to':'O'}) + self.fields['act_type'].help_text = models.ActType.get_help( + dct={'intented_to':'O'}) + class AdministrativeActDeletionWizard(ClosingWizard): model = models.AdministrativeAct fields = ['act_type', 'in_charge', 'operator', 'scientific', 'signatory', |