summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/forms.py15
-rw-r--r--archaeological_files/views.py7
-rw-r--r--archaeological_files_pdl/forms.py50
-rw-r--r--archaeological_files_pdl/views.py5
-rw-r--r--archaeological_operations/forms.py4
-rw-r--r--ishtar_common/admin.py3
6 files changed, 54 insertions, 30 deletions
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]