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', | 
