From 1d12ef323a174c2d39a1de6805b9baa981c405a5 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 18 Aug 2015 12:49:29 +0200 Subject: Archaeological files: by default don't give a closing date. PEP8 and formating --- archaeological_files_pdl/forms.py | 187 +++++++++++++++++++++----------------- 1 file changed, 103 insertions(+), 84 deletions(-) (limited to 'archaeological_files_pdl/forms.py') diff --git a/archaeological_files_pdl/forms.py b/archaeological_files_pdl/forms.py index 0cb67dbd1..03c308ba5 100644 --- a/archaeological_files_pdl/forms.py +++ b/archaeological_files_pdl/forms.py @@ -30,17 +30,18 @@ from archaeological_files import models from ishtar_common.forms import get_now, reverse_lazy from ishtar_common.forms_common import get_advanced_town_field from archaeological_files.forms import GENERAL_CONTRACTOR, \ - GENERAL_CONTRACTOR_ORGA, RESPONSIBLE_PLANNING_SERVICE, \ - RESPONSIBLE_PLANNING_SERVICE_ORGA + GENERAL_CONTRACTOR_ORGA, RESPONSIBLE_PLANNING_SERVICE, \ + RESPONSIBLE_PLANNING_SERVICE_ORGA from ishtar_common import widgets + class FileFormGeneral(forms.Form): form_label = _("General") - associated_models = {'file_type':models.FileType} + associated_models = {'file_type': models.FileType} file_type = forms.ChoiceField(label=_("File type"), choices=[]) year = forms.IntegerField(label=_("Year"), - initial=lambda:datetime.datetime.now().year, + initial=lambda: datetime.datetime.now().year, validators=[validators.MinValueValidator(1900), validators.MaxValueValidator(2100)]) creation_date = forms.DateField(label=_(u"Creation date"), @@ -53,61 +54,67 @@ class FileFormGeneral(forms.Form): self.fields['file_type'].choices = models.FileType.get_types() self.fields['file_type'].help_text = models.FileType.get_help() + class FileFormPreventiveType(forms.Form): form_label = u"Saisine" - associated_models = {'saisine_type':models.SaisineType, - 'permit_type':models.PermitType} + associated_models = {'saisine_type': models.SaisineType, + 'permit_type': models.PermitType} permit_type = forms.ChoiceField(label=_(u"Permit type"), required=False, choices=[]) saisine_type = forms.ChoiceField(label=_(u"Saisine type"), choices=[]) + def __init__(self, *args, **kwargs): super(FileFormPreventiveType, self).__init__(*args, **kwargs) self.fields['saisine_type'].choices = models.SaisineType.get_types() self.fields['saisine_type'].help_text = models.SaisineType.get_help() - self.fields['permit_type'].choices = models.PermitType.get_types( - default='NP') + self.fields['permit_type'].choices = \ + models.PermitType.get_types(default='NP') self.fields['permit_type'].help_text = models.PermitType.get_help() + class FileFormPlanning(forms.Form): form_label = _(u"Planning") - associated_models = {'main_town':models.Town} + associated_models = {'main_town': models.Town} name = forms.CharField(label=_(u"Planning name"), required=False, max_length=100) main_town = get_advanced_town_field(required=True) locality = forms.CharField(label=_(u"Locality"), max_length=100, required=False) - address = forms.CharField(label=_(u"Address (number/street)"), - widget=forms.Textarea( - attrs={"placeholder":_(u"Number/street")}), - required=False, - ) + address = forms.CharField( + label=_(u"Address (number/street)"), + widget=forms.Textarea(attrs={"placeholder": _(u"Number/street")}), + required=False) postal_code = forms.CharField(label=_(u"Postal code"), max_length=10, required=False) - total_surface = forms.IntegerField(required=False, - widget=widgets.AreaWidget, - label=_(u"Total surface (m²)"), - validators=[validators.MinValueValidator(0), - validators.MaxValueValidator(999999999)]) - total_developed_surface = forms.IntegerField(widget=widgets.AreaWidget, - label=_(u"Total developed surface (m²)"), - required=False, validators=[validators.MinValueValidator(0), - validators.MaxValueValidator(999999999)]) + total_surface = forms.IntegerField( + required=False, + widget=widgets.AreaWidget, + label=_(u"Total surface (m²)"), + validators=[validators.MinValueValidator(0), + validators.MaxValueValidator(999999999)]) + total_developed_surface = forms.IntegerField( + widget=widgets.AreaWidget, + label=_(u"Total developed surface (m²)"), + required=False, + validators=[validators.MinValueValidator(0), + validators.MaxValueValidator(999999999)]) + class FileFormResearchAddress(forms.Form): form_label = _(u"Address") - associated_models = {'main_town':models.Town} + associated_models = {'main_town': models.Town} main_town = get_advanced_town_field(required=True) locality = forms.CharField(label=_(u"Locality"), max_length=100, required=False) - address = forms.CharField(label=_(u"Address (number/street)"), - widget=forms.Textarea( - attrs={"placeholder":_(u"Number/street")}), - required=False, - ) + address = forms.CharField( + label=_(u"Address (number/street)"), + widget=forms.Textarea(attrs={"placeholder": _(u"Number/street")}), + required=False) postal_code = forms.CharField(label=_(u"Postal code"), max_length=10, required=False) + class PersonOrgaForm(forms.Form): PERSON_FIELD = 'TO BE DEFINED' PERSON_TYPE = GENERAL_CONTRACTOR @@ -128,14 +135,16 @@ class PersonOrgaForm(forms.Form): if 'data' in kwargs: # the order is important: PERSON can have an ORGA for field in [self.ORGA_FIELD, self.PERSON_FIELD]: - current_item_key = ((kwargs['prefix'] + '-') \ - if kwargs.get('prefix') else '') + field + current_item_key = ( + (kwargs['prefix'] + '-') + if kwargs.get('prefix') else '') + field if kwargs['data'] and kwargs['data'].get(current_item_key): model = self.associated_models[field] try: - item = model.objects.get(pk=kwargs['data'][current_item_key]) - current_status = 'natural' if field == self.PERSON_FIELD \ - else 'corporation' + model.objects.get( + pk=kwargs['data'][current_item_key]) + current_status = 'natural' \ + if field == self.PERSON_FIELD else 'corporation' except (model.DoesNotExist, ValueError): pass initial = kwargs.get("initial", {}) @@ -145,9 +154,9 @@ class PersonOrgaForm(forms.Form): value = initial.get(field) model = self.associated_models[field] try: - item = model.objects.get(pk=value) + model.objects.get(pk=value) current_status = 'natural' if field == self.PERSON_FIELD \ - else 'corporation' + else 'corporation' except (model.DoesNotExist, ValueError): pass @@ -173,36 +182,37 @@ class PersonOrgaForm(forms.Form): # distinct widget for natural and corporation if status == 'natural': self.fields[self.PERSON_FIELD] = forms.IntegerField( - label=self.PERSON_LABEL, - required=False, - initial= initial.get(self.PERSON_FIELD, None), - widget=widgets.JQueryPersonOrganization( - reverse_lazy('autocomplete-person', - args=[self.PERSON_TYPE.pk]), - reverse_lazy('person_create'), - model=Person, - limit={'person_types':[self.PERSON_TYPE.pk], - 'attached_to__isnull':True}, - js_template='ishtar/blocks/JQueryNaturalPerson.js', - new=True), - validators=[valid_id(Person)]) + label=self.PERSON_LABEL, + required=False, + initial=initial.get(self.PERSON_FIELD, None), + widget=widgets.JQueryPersonOrganization( + reverse_lazy('autocomplete-person', + args=[self.PERSON_TYPE.pk]), + reverse_lazy('person_create'), + model=Person, + limit={'person_types': [self.PERSON_TYPE.pk], + 'attached_to__isnull': True}, + js_template='ishtar/blocks/JQueryNaturalPerson.js', + new=True), + validators=[valid_id(Person)]) else: self.fields[self.ORGA_FIELD] = forms.IntegerField( - label=self.ORGA_LABEL, - required=False, - initial= initial.get(self.ORGA_FIELD, None), - widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-organization', - args=[self.ORGA_TYPE.pk]), - limit={'organization_type':[self.ORGA_TYPE.pk]}, - associated_model=models.Organization, - new=True), - validators=[valid_id(models.Organization)]) + label=self.ORGA_LABEL, + required=False, + initial=initial.get(self.ORGA_FIELD, None), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-organization', + args=[self.ORGA_TYPE.pk]), + limit={'organization_type': [self.ORGA_TYPE.pk]}, + associated_model=models.Organization, + new=True), + validators=[valid_id(models.Organization)]) + class FileFormGeneralContractor(PersonOrgaForm): form_label = _(u"General contractor") - associated_models = {'general_contractor':models.Person, - 'corporation_general_contractor':models.Organization} + associated_models = {'general_contractor': models.Person, + 'corporation_general_contractor': models.Organization} PERSON_FIELD = 'general_contractor' PERSON_TYPE = GENERAL_CONTRACTOR PERSON_LABEL = _(u"General contractor") @@ -211,15 +221,16 @@ class FileFormGeneralContractor(PersonOrgaForm): ORGA_LABEL = _(u"General contractor") # default initialisation before dynamic - general_contractor = forms.IntegerField(label=" ", widget=forms.HiddenInput, - required=False) - corporation_general_contractor = forms.IntegerField(label=" ", - widget=forms.HiddenInput, required=False) + general_contractor = forms.IntegerField( + label=" ", widget=forms.HiddenInput, required=False) + corporation_general_contractor = forms.IntegerField( + label=" ", widget=forms.HiddenInput, required=False) + class FileFormPlanningService(PersonOrgaForm): form_label = _(u"Town planning service") - associated_models = {'responsible_town_planning_service':models.Person, - 'planning_service':models.Organization} + associated_models = {'responsible_town_planning_service': models.Person, + 'planning_service': models.Organization} reference_number = forms.IntegerField(label=_(u"File reference"), required=False) @@ -231,25 +242,33 @@ class FileFormPlanningService(PersonOrgaForm): ORGA_LABEL = _(u"Planning service") # default initialisation before dynamic - responsible_town_planning_service = forms.IntegerField(label=" ", - widget=forms.HiddenInput, required=False) + responsible_town_planning_service = forms.IntegerField( + label=" ", widget=forms.HiddenInput, required=False) planning_service = forms.IntegerField(label=" ", widget=forms.HiddenInput, required=False) + class FileFormInstruction(forms.Form): form_label = u"Instruction SRA" - associated_models = {'in_charge':models.Person, - 'related_file':models.File} - in_charge = forms.IntegerField(label=_("Person in charge"), - widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-person', - args=[PersonType.objects.get(txt_idx='sra_agent').pk]), - limit={'person_types':[PersonType.objects.get(txt_idx='sra_agent').pk]}, - associated_model=Person, new=True), + associated_models = {'in_charge': models.Person, + 'related_file': models.File} + in_charge = forms.IntegerField( + label=_("Person in charge"), + widget=widgets.JQueryAutoComplete( + reverse_lazy( + 'autocomplete-person', + args=[PersonType.objects.get(txt_idx='sra_agent').pk]), + limit={ + 'person_types': [ + PersonType.objects.get(txt_idx='sra_agent').pk] + }, + associated_model=Person, new=True), validators=[valid_id(Person)]) - related_file = forms.IntegerField(label=_("Related file"), required=False, - widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-file'), - associated_model=models.File), - validators=[valid_id(models.File)]) + related_file = forms.IntegerField( + label=_("Related file"), required=False, + widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-file'), + associated_model=models.File), + validators=[valid_id(models.File)]) comment = forms.CharField(label=_(u"Comment"), widget=forms.Textarea, required=False) instruction_deadline = forms.DateField(widget=widgets.JQueryDate, @@ -259,8 +278,7 @@ class FileFormInstruction(forms.Form): validators.MaxValueValidator(2100)]) numeric_reference = forms.IntegerField(label=_("Numeric reference"), required=False) - end_date = forms.DateField(initial=get_now, widget=widgets.JQueryDate, - required=False) + end_date = forms.DateField(widget=widgets.JQueryDate, required=False) def __init__(self, *args, **kwargs): c_year = datetime.date.today().year @@ -268,10 +286,11 @@ class FileFormInstruction(forms.Form): c_year = kwargs.pop('year') super(FileFormInstruction, self).__init__(*args, **kwargs) self.fields['year'].initial = c_year - self.fields['year'].widget.attrs.update({'readonly':'readonly'}) + self.fields['year'].widget.attrs.update({'readonly': 'readonly'}) c_num, lasts = 0, "" q = models.File.objects.filter(numeric_reference__isnull=False, - year=c_year).order_by('-numeric_reference') + year=c_year + ).order_by('-numeric_reference') if q.count(): c_num = q.all()[0].numeric_reference lasts = u"SRA %s-%d" % (unicode(c_year), c_num) -- cgit v1.2.3