From 909e24f4c711232f486b82883699d873adee0e78 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 2 Jan 2018 16:25:56 +0100 Subject: Custom form: operations forms - change name and slugs --- archaeological_operations/forms.py | 72 +++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 32 deletions(-) (limited to 'archaeological_operations/forms.py') diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 6966fff50..215ade6ca 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -51,7 +51,7 @@ from ishtar_common.forms import FinalForm, FormSet, get_now, \ reverse_lazy, get_form_selection, TableSelect, get_data_from_formset, \ ManageOldType, CustomForm, FieldType from ishtar_common.forms_common import TownFormSet, SourceForm, SourceSelect, \ - get_town_field + get_town_field, TownForm from archaeological_operations.utils import parse_parcels @@ -477,8 +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" +RecordRelationsFormSet.form_admin_name = _(u"Operation - 080 - Relations") +RecordRelationsFormSet.form_slug = "operation-080-relations" class OperationSelect(TableSelect): @@ -679,8 +679,8 @@ class OperationFormFileChoice(forms.Form): class OperationFormAbstract(CustomForm, forms.Form): form_label = _(u"Abstract") - form_admin_name = _("Operations - Abstract") - form_slug = "operation-abstract" + form_admin_name = _(u"Operation - 090 - Abstract") + form_slug = "operation-090-abstract" abstract = forms.CharField( label=_(u"Abstract"), widget=forms.Textarea(attrs={'class': 'xlarge'}), required=False) @@ -768,8 +768,8 @@ class DashboardForm(forms.Form): class OperationFormGeneral(ManageOldType, CustomForm, forms.Form): form_label = _(u"General") - form_admin_name = _(u"Operation - General") - form_slug = "operation-general" + form_admin_name = _(u"Operation - 010 - General") + form_slug = "operation-010-general" file_upload = True associated_models = {'scientist': Person, @@ -1014,8 +1014,8 @@ OperationFormModifGeneral.associated_models['associated_file'] = File class CollaboratorForm(CustomForm, forms.Form): form_label = _(u"Collaborators") - form_admin_name = _(u"Operation - Collaborators") - form_slug = "operation-collaborators" + form_admin_name = _(u"Operation - 020 - Collaborators") + form_slug = "operation-020-collaborators" base_models = ['collaborator'] associated_models = {'collaborator': Person, } @@ -1030,8 +1030,8 @@ class CollaboratorForm(CustomForm, forms.Form): class OperationFormPreventive(CustomForm, forms.Form): form_label = _(u"Preventive informations - excavation") - form_admin_name = _(u"Operation - Preventive - Excavation") - form_slug = "operation-preventive-excavation" + form_admin_name = _(u"Operation - 033 - Preventive - Excavation") + form_slug = "operation-033-preventive-excavation" cost = forms.IntegerField(label=_(u"Cost (euros)"), required=False) scheduled_man_days = forms.IntegerField(label=_(u"Scheduled man-days"), @@ -1049,8 +1049,8 @@ class OperationFormPreventive(CustomForm, forms.Form): class OperationFormPreventiveDiag(CustomForm, forms.Form): form_label = _("Preventive informations - diagnostic") - form_admin_name = _(u"Operation - Preventive - Diagnostic") - form_slug = "operation-preventive-diagnostic" + form_admin_name = _(u"Operation - 037 - Preventive - Diagnostic") + form_slug = "operation-037-preventive-diagnostic" if settings.COUNTRY == 'fr': zoning_prescription = forms.NullBooleanField( @@ -1080,7 +1080,13 @@ class SelectedTownForm(forms.Form): SelectedTownFormset = formset_factory(SelectedTownForm, can_delete=True, formset=TownFormSet) SelectedTownFormset.form_label = _(u"Towns") -SelectedTownFormset.form_slug = "towns" +SelectedTownFormset.form_admin_name = _(u"Operation - 040 - Towns") +SelectedTownFormset.form_slug = "operation-040-towns" + +TownFormset = formset_factory(TownForm, can_delete=True, formset=TownFormSet) +TownFormset.form_label = _("Towns") +TownFormset.form_admin_name = _(u"Operation - 040 - Towns (2)") +TownFormset.form_slug = "operation-040-towns-2" class SelectedParcelForm(forms.Form): @@ -1101,13 +1107,15 @@ class SelectedParcelForm(forms.Form): 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" +SelectedParcelFormSet.form_admin_name = _(u"Operation - 050 - Parcels") +SelectedParcelFormSet.form_slug = "operation-050-parcels" SelectedParcelGeneralFormSet = formset_factory(ParcelForm, can_delete=True, formset=ParcelFormSet) -SelectedParcelGeneralFormSet.form_admin_name = _("Parcels") -SelectedParcelGeneralFormSet.form_slug = "operation-parcels" +SelectedParcelGeneralFormSet.form_label = _("Parcels") +SelectedParcelGeneralFormSet.form_admin_name = _( + u"Operation - 050 - Parcels (2)") +SelectedParcelGeneralFormSet.form_slug = "operation-050-parcels-2" """ class SelectedParcelFormSet(forms.Form): @@ -1136,9 +1144,9 @@ class SelectedParcelFormSet(forms.Form): class RemainForm(CustomForm, ManageOldType, forms.Form): - form_label = _("Remain types") - form_admin_name = _("Operations - Remains") - form_slug = "operation-remains" + form_label = _(u"Remain types") + form_admin_name = _(u"Operation - 060 - Remains") + form_slug = "operation-060-remains" base_model = 'remain' associated_models = {'remain': models.RemainType} @@ -1152,9 +1160,9 @@ class RemainForm(CustomForm, ManageOldType, forms.Form): class PeriodForm(CustomForm, ManageOldType, forms.Form): - form_label = _("Periods") - form_admin_name = _("Operations - Periods") - form_slug = "operation-periods" + form_label = _(u"Periods") + form_admin_name = _(u"Operation - 070 - Periods") + form_slug = "operation-070-periods" base_model = 'period' associated_models = {'period': models.Period} @@ -1222,12 +1230,12 @@ class ArchaeologicalSiteBasicForm(forms.Form): required=False) -ArchaeologicalSiteFormSet = formset_factory(ArchaeologicalSiteBasicForm, - can_delete=True, formset=FormSet) -ArchaeologicalSiteFormSet.form_label = _("Archaeological sites") -ArchaeologicalSiteFormSet.form_admin_name = _("Operation - Archaeological " - "sites") -ArchaeologicalSiteFormSet.form_slug = "operation-archaeological-sites" +ArchaeologicalSiteFormSet = formset_factory( + ArchaeologicalSiteBasicForm, can_delete=True, formset=FormSet) +ArchaeologicalSiteFormSet.form_label = _(u"Archaeological sites") +ArchaeologicalSiteFormSet.form_admin_name = _( + u"Operation - 030 - Archaeological sites") +ArchaeologicalSiteFormSet.form_slug = "operation-030-archaeological-sites" class ArchaeologicalSiteSelectionForm(forms.Form): @@ -1255,7 +1263,7 @@ class OperationDeletionForm(FinalForm): class OperationSourceForm(SourceForm): - form_admin_name = _("Operation Sources - Main") + form_admin_name = _("Operation source - General") form_slug = "operation-source-relations" pk = forms.IntegerField(required=False, widget=forms.HiddenInput) @@ -1407,7 +1415,7 @@ class AdministrativeActOpeFormSelection(forms.Form): class AdministrativeActOpeForm(CustomForm, ManageOldType, forms.Form): form_label = _("General") - form_admin_name = _("Operations - Administrative act - General") + form_admin_name = _(u"Operation - Administrative act - General") form_slug = "operation-adminact-general" associated_models = {'act_type': models.ActType, } -- cgit v1.2.3 From 29ba4a4051b2b1cb2177e89a995330f2784bf7ff Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 4 Jan 2018 11:55:03 +0100 Subject: Custom form: generic source --- archaeological_files/forms.py | 2 +- archaeological_operations/forms.py | 3 --- ishtar_common/forms_common.py | 3 +++ 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'archaeological_operations/forms.py') diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index 5085455d8..7c254f936 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -528,7 +528,7 @@ class AdministrativeActFileModifyFormSelection( class AdministrativeActFileForm(AdministrativeActOpeForm): - form_admin_name = _(u"Archaeological files - Administrative act - General") + form_admin_name = _(u"Archaeological file - Administrative act - General") form_slug = "file-adminact-general" act_type = forms.ChoiceField(label=_(u"Act type"), choices=[]) diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 215ade6ca..b85b5e937 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -1263,9 +1263,6 @@ class OperationDeletionForm(FinalForm): class OperationSourceForm(SourceForm): - form_admin_name = _("Operation source - General") - 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="", diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 7f4d94449..dadeefee0 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -865,6 +865,9 @@ class MergeOrganizationForm(MergeForm): ###################### class SourceForm(CustomForm, ManageOldType, forms.Form): form_label = _(u"Documentation informations") + form_admin_name = _("Source - General") + form_slug = "source-general" + file_upload = True associated_models = {'source_type': models.SourceType} title = forms.CharField(label=_(u"Title"), -- cgit v1.2.3 From c3e655c6a8efd1a79c8d066bc95fb5bd56886fb5 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 4 Jan 2018 13:16:24 +0100 Subject: Custom form: archaeological files forms --- archaeological_files/forms.py | 15 ++++++++++-- archaeological_files/views.py | 7 +++--- archaeological_files_pdl/forms.py | 50 ++++++++++++++++++++++++++------------ archaeological_files_pdl/views.py | 5 ++-- archaeological_operations/forms.py | 4 --- ishtar_common/admin.py | 3 ++- 6 files changed, 54 insertions(+), 30 deletions(-) (limited to 'archaeological_operations/forms.py') diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index 7c254f936..cf8b8ea4b 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -25,6 +25,7 @@ import datetime from django import forms from django.conf import settings from django.core import validators +from django.forms.formsets import formset_factory from django.utils.translation import ugettext_lazy as _ from django.utils.safestring import mark_safe @@ -34,12 +35,13 @@ from ishtar_common.models import Person, Organization, \ from archaeological_operations.models import ActType, AdministrativeAct, \ OperationType import models + from ishtar_common.forms import FinalForm, get_now, reverse_lazy, TableSelect, \ ManageOldType, CustomForm, FieldType from ishtar_common.forms_common import get_town_field from archaeological_operations.forms import AdministrativeActOpeForm, \ AdministrativeActOpeFormSelection, \ - ParcelField, SLICING, AdministrativeActModifForm + ParcelField, SLICING, AdministrativeActModifForm, ParcelForm, ParcelFormSet from ishtar_common import widgets @@ -271,6 +273,13 @@ class FileFormGeneralRO(FileFormGeneral): return cleaned_data +ParcelFormset = formset_factory(ParcelForm, can_delete=True, + formset=ParcelFormSet) +ParcelFormset.form_label = _(u"Parcels") +ParcelFormset.form_admin_name = _("Archaeological file - 020 - Parcel") +ParcelFormset.form_slug = "source-general" + + class FileFormPreventive(ManageOldType, forms.Form): form_label = _(u"Preventive informations") associated_models = {'general_contractor': Person, @@ -329,8 +338,10 @@ class FileFormPreventive(ManageOldType, forms.Form): self.fields['permit_type'].help_text = models.PermitType.get_help() -class FileFormResearch(ManageOldType, forms.Form): +class FileFormResearch(CustomForm, ManageOldType, forms.Form): form_label = _("Research archaeology") + form_admin_name = _("Archaeological file - 045 - Research - General") + form_slug = "file-045-research-general" base_model = 'department' associated_models = {'scientist': Person, 'requested_operation_type': OperationType, diff --git a/archaeological_files/views.py b/archaeological_files/views.py index 0c0dac3f3..86fa83ee4 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -37,8 +37,7 @@ from archaeological_operations.wizards import AdministrativeActDeletionWizard, \ from wizards import * from ishtar_common.forms_common import TownFormset -from archaeological_operations.forms import ParcelFormSet, \ - FinalAdministrativeActDeleteForm +from archaeological_operations.forms import FinalAdministrativeActDeleteForm from ishtar_common.forms import ClosingDateFormSelection from forms import * @@ -108,7 +107,7 @@ file_search_wizard = SearchWizard.as_view( file_creation_wizard = FileWizard.as_view( [('general-file_creation', FileFormGeneral), ('towns-file_creation', TownFormset), - ('parcels-file_creation', ParcelFormSet), + ('parcels-file_creation', ParcelFormset), ('preventive-file_creation', FileFormPreventive), ('research-file_creation', FileFormResearch), ('final-file_creation', FinalForm)], @@ -127,7 +126,7 @@ file_modification_wizard = FileModificationWizard.as_view( [('selec-file_modification', FileFormSelection), ('general-file_modification', FileFormGeneralRO), ('towns-file_modification', TownFormset), - ('parcels-file_modification', ParcelFormSet), + ('parcels-file_modification', ParcelFormset), ('preventive-file_modification', FileFormPreventive), ('research-file_modification', FileFormResearch), ('final-file_modification', FinalForm)], diff --git a/archaeological_files_pdl/forms.py b/archaeological_files_pdl/forms.py index e5fbb4a96..e0a8f119b 100644 --- a/archaeological_files_pdl/forms.py +++ b/archaeological_files_pdl/forms.py @@ -29,13 +29,16 @@ from ishtar_common.models import Person, Town, Department, valid_id, \ organization_type_pk_lazy from archaeological_files import models -from ishtar_common.forms import get_now, reverse_lazy, ManageOldType +from ishtar_common.forms import get_now, reverse_lazy, ManageOldType, \ + CustomForm, FieldType from ishtar_common import widgets -class FileFormGeneral(ManageOldType, forms.Form): +class FileFormGeneral(CustomForm, ManageOldType, forms.Form): form_label = _("General") + form_admin_name = _(u"Archaeological file - 010 - General") + form_slug = "file-010-general" associated_models = {'file_type': models.FileType} file_type = forms.ChoiceField(label=_("File type"), choices=[]) year = forms.IntegerField(label=_("Year"), @@ -47,11 +50,9 @@ class FileFormGeneral(ManageOldType, forms.Form): reception_date = forms.DateField( label=_(u"Reception date"), initial=get_now, widget=widgets.JQueryDate) - def __init__(self, *args, **kwargs): - super(FileFormGeneral, self).__init__(*args, **kwargs) - self.fields['file_type'].choices = models.FileType.get_types( - initial=self.init_data.get('file_type')) - self.fields['file_type'].help_text = models.FileType.get_help() + TYPES = [ + FieldType('file_type', models.FileType), + ] def clean_reception_date(self): value = self.cleaned_data.get('reception_date', None) @@ -61,27 +62,31 @@ class FileFormGeneral(ManageOldType, forms.Form): return value -class FileFormPreventiveType(ManageOldType, forms.Form): +class FileFormPreventiveType(CustomForm, ManageOldType, forms.Form): form_label = u"Saisine" + form_admin_name = _(u"Archaeological file - 013 - Preventive - Saisine") + form_slug = "file-013-preventivesaisine" 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=[]) + TYPES = [ + FieldType('saisine_type', models.SaisineType), + ] def __init__(self, *args, **kwargs): super(FileFormPreventiveType, self).__init__(*args, **kwargs) - self.fields['saisine_type'].choices = models.SaisineType.get_types( - initial=self.init_data.get('saisine_type')) - self.fields['saisine_type'].help_text = models.SaisineType.get_help() self.fields['permit_type'].choices = models.PermitType.get_types( default='NP', initial=self.init_data.get('permit_type')) self.fields['permit_type'].help_text = models.PermitType.get_help() -class FileFormPlanning(forms.Form): +class FileFormPlanning(CustomForm, forms.Form): form_label = _(u"Planning") + form_admin_name = _(u"Archaeological file - 017 - Preventive - Planning") + form_slug = "file-017-preventiveplanning" base_models = ['town', 'department'] associated_models = {'town': Town, 'department': Department} name = forms.CharField(label=_(u"Planning name"), required=False, @@ -112,8 +117,10 @@ class FileFormPlanning(forms.Form): validators.MaxValueValidator(999999999)]) -class FileFormResearchAddress(forms.Form): +class FileFormResearchAddress(CustomForm, forms.Form): form_label = _(u"Address") + form_admin_name = _(u"Archaeological file - 015 - Research - Address") + form_slug = "file-015-researchplanning" base_models = ['town', 'department'] associated_models = {'town': Town, 'department': Department} name = forms.CharField(label=_(u"Project name"), required=False, @@ -228,8 +235,11 @@ class PersonOrgaForm(forms.Form): validators=[valid_id(models.Organization)]) -class FileFormGeneralContractor(PersonOrgaForm): +class FileFormGeneralContractor(CustomForm, PersonOrgaForm): form_label = _(u"General contractor") + form_admin_name = _("Archaeological file - 030 - General contrator") + form_slug = "file-030-generalcontractor" + associated_models = {'general_contractor': models.Person, 'corporation_general_contractor': models.Organization} corporation_general_contractor = forms.IntegerField( @@ -323,6 +333,10 @@ class FileFormGeneralContractor(PersonOrgaForm): if status not in ('natural', 'corporation'): status = DEFAULT_STATUS + user = None + if 'user' in kwargs: + user = kwargs.pop('user') + super(PersonOrgaForm, self).__init__(*args, **kwargs) # distinct widget for natural and corporation @@ -344,8 +358,10 @@ class FileFormGeneralContractor(PersonOrgaForm): self.fields.pop(self.ORGA_FIELD) -class FileFormPlanningService(forms.Form): +class FileFormPlanningService(CustomForm, forms.Form): form_label = _(u"Planning service") + form_admin_name = _("Archaeological file - 040 - Planning service") + form_slug = "file-040-planningservice" associated_models = {'responsible_town_planning_service': models.Person, 'planning_service': models.Organization} @@ -387,8 +403,10 @@ class FileFormPlanningService(forms.Form): ) -class FileFormInstruction(forms.Form): +class FileFormInstruction(CustomForm, forms.Form): form_label = u"Instruction SRA" + form_admin_name = _("Archaeological file - 050 - Instruction") + form_slug = "file-050-instruction" associated_models = {'in_charge': models.Person, 'related_file': models.File} in_charge = forms.IntegerField( diff --git a/archaeological_files_pdl/views.py b/archaeological_files_pdl/views.py index d03fd958d..cf412efb6 100644 --- a/archaeological_files_pdl/views.py +++ b/archaeological_files_pdl/views.py @@ -27,7 +27,6 @@ from ishtar_common.views import OrganizationPersonCreate, \ from archaeological_files_pdl import forms from archaeological_files import forms as ref_forms -from archaeological_operations.forms import ParcelFormSet from archaeological_files import models @@ -41,7 +40,7 @@ file_creation_wizard = FileWizard.as_view([ ('preventivetype-file_creation', forms.FileFormPreventiveType), ('preventiveplanning-file_creation', forms.FileFormPlanning), ('researchaddress-file_creation', forms.FileFormResearchAddress), - ('parcelspdl-file_creation', ParcelFormSet), + ('parcelspdl-file_creation', ref_forms.ParcelFormset), ('generalcontractor-file_creation', forms.FileFormGeneralContractor), ('planningservice-file_creation', forms.FileFormPlanningService), ('research-file_creation', ref_forms.FileFormResearch), @@ -68,7 +67,7 @@ file_modification_wizard = FileModificationWizard.as_view([ ('preventivetype-file_modification', forms.FileFormPreventiveType), ('preventiveplanning-file_modification', forms.FileFormPlanning), ('researchaddress-file_modification', forms.FileFormResearchAddress), - ('parcelspdl-file_modification', ParcelFormSet), + ('parcelspdl-file_modification', ref_forms.ParcelFormset), ('generalcontractor-file_modification', forms.FileFormGeneralContractor), ('planningservice-file_modification', forms.FileFormPlanningService), ('research-file_modification', ref_forms.FileFormResearch), diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index b85b5e937..6ba343508 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -366,10 +366,6 @@ class ParcelFormSet(FormSet): if hasattr(self, 'cleaned_data') and self.cleaned_data: return self.cleaned_data -ParcelFormSet = formset_factory(ParcelForm, can_delete=True, - formset=ParcelFormSet) -ParcelFormSet.form_label = _(u"Parcels") - class RecordRelationsForm(ManageOldType, forms.Form): base_model = 'right_relation' diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 189a02c05..fa71c4d3f 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -46,6 +46,7 @@ from ishtar_common.utils import get_cache from ishtar_common import forms as common_forms from archaeological_files import forms as file_forms +from archaeological_files_pdl import forms as file_pdl_forms from archaeological_operations import forms as operation_forms from archaeological_context_records import forms as context_record_forms from archaeological_finds import forms as find_forms, \ @@ -53,7 +54,7 @@ from archaeological_finds import forms as find_forms, \ from archaeological_warehouse import forms as warehouse_forms -ISHTAR_FORMS = [common_forms, file_forms, operation_forms, +ISHTAR_FORMS = [common_forms, file_pdl_forms, file_forms, operation_forms, context_record_forms, find_forms, treatment_forms, warehouse_forms] -- cgit v1.2.3