summaryrefslogtreecommitdiff
path: root/archaeological_operations/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r--archaeological_operations/forms.py83
1 files changed, 49 insertions, 34 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index d2ec086ae..84af8f287 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -34,14 +34,11 @@ from django.utils.translation import ugettext_lazy as _, pgettext_lazy
from django.utils.safestring import mark_safe
from ishtar_common.models import valid_id, PersonType, Person, Town, \
- DocumentTemplate, Organization, OrganizationType
+ DocumentTemplate, Organization, OrganizationType, get_current_profile
from ishtar_common.wizards import MultiValueDict
-FILES_AVAILABLE = 'archaeological_files' in settings.INSTALLED_APPS
-
-if FILES_AVAILABLE:
- from archaeological_files.models import File
+from archaeological_files.models import File
import models
from widgets import ParcelWidget, SelectParcelWidget
@@ -411,16 +408,16 @@ OPERATOR, created = OrganizationType.objects.get_or_create(txt_idx='operator')
class OperationSelect(TableSelect):
+ year = forms.IntegerField(label=_("Year"))
+ operation_code = forms.IntegerField(label=_(u"Numeric reference"))
if settings.COUNTRY == 'fr':
code_patriarche = forms.IntegerField(
label="Numéro d'opération (OA Patriarche)")
- year = forms.IntegerField(label=_("Year"))
- operation_code = forms.IntegerField(label=_(u"Numeric reference"))
towns = get_town_field()
parcel = ParcelField(label=_("Parcel (section/number)"))
if settings.ISHTAR_DPTS:
towns__numero_insee__startswith = forms.ChoiceField(
- label="Department", choices=[])
+ label=_(u"Department"), choices=[])
common_name = forms.CharField(label=_(u"Name"),
max_length=30)
operation_type = forms.ChoiceField(label=_(u"Operation type"),
@@ -469,12 +466,12 @@ class OperationSelect(TableSelect):
report_processing = forms.ChoiceField(label=_(u"Report processing"),
choices=[])
virtual_operation = forms.NullBooleanField(label=_(u"Virtual operation"))
- archaeological_sites = forms.IntegerField(
- label=_("Archaelogical site"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-archaeologicalsite'),
- associated_model=models.ArchaeologicalSite),
- validators=[valid_id(models.ArchaeologicalSite)])
+ # archaeological_sites = forms.IntegerField(
+ # label=_("Archaelogical site"),
+ # widget=widgets.JQueryAutoComplete(
+ # reverse_lazy('autocomplete-archaeologicalsite'),
+ # associated_model=models.ArchaeologicalSite),
+ # validators=[valid_id(models.ArchaeologicalSite)])
history_creator = forms.IntegerField(
label=_(u"Created by"),
widget=widgets.JQueryAutoComplete(
@@ -566,16 +563,16 @@ class OperationCodeInput(forms.TextInput):
'url': reverse_lazy('get_available_operation_code')}
return mark_safe(rendered + js)
-if FILES_AVAILABLE:
- class OperationFormFileChoice(forms.Form):
- form_label = _(u"Associated file")
- associated_models = {'associated_file': File, }
- currents = {'associated_file': File}
- associated_file = forms.IntegerField(
- label=_(u"Archaelogical file"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-file'), associated_model=File),
- validators=[valid_id(File)], required=False)
+
+class OperationFormFileChoice(forms.Form):
+ form_label = _(u"Associated file")
+ associated_models = {'associated_file': File, }
+ currents = {'associated_file': File}
+ associated_file = forms.IntegerField(
+ label=_(u"Archaelogical file"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-file'), associated_model=File),
+ validators=[valid_id(File)], required=False)
class OperationFormAbstract(forms.Form):
@@ -814,14 +811,13 @@ class OperationFormGeneral(forms.Form):
class OperationFormModifGeneral(OperationFormGeneral):
operation_code = forms.IntegerField(label=_(u"Operation code"),
required=False)
- if FILES_AVAILABLE:
- currents = {'associated_file': File}
- associated_file = forms.IntegerField(
- label=_(u"Archaelogical file"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-file'),
- associated_model=File),
- validators=[valid_id(File)], required=False)
+ currents = {'associated_file': File}
+ associated_file = forms.IntegerField(
+ label=_(u"Archaelogical file"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-file'),
+ associated_model=File),
+ validators=[valid_id(File)], required=False)
def __init__(self, *args, **kwargs):
super(OperationFormModifGeneral, self).__init__(*args, **kwargs)
@@ -829,12 +825,13 @@ class OperationFormModifGeneral(OperationFormGeneral):
self.fields.keyOrder.pop(self.fields.keyOrder.index('associated_file'))
self.fields.keyOrder.insert(self.fields.keyOrder.index('in_charge'),
'associated_file')
+ if not get_current_profile().files:
+ self.fields.pop('associated_file')
OperationFormModifGeneral.associated_models = \
OperationFormGeneral.associated_models.copy()
-if FILES_AVAILABLE:
- OperationFormModifGeneral.associated_models['associated_file'] = File
+OperationFormModifGeneral.associated_models['associated_file'] = File
class OperationFormPreventive(forms.Form):
@@ -993,6 +990,24 @@ class ArchaeologicalSiteForm(forms.Form):
return item
+class ArchaeologicalSiteBasicForm(forms.Form):
+ form_label = _("Archaeological site")
+ base_model = 'archaeological_site'
+ associated_models = {'archaeological_site': models.ArchaeologicalSite}
+ archaeological_site = forms.IntegerField(
+ label=_("Archaelogical site"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-archaeologicalsite'),
+ associated_model=models.ArchaeologicalSite,
+ new=True),
+ validators=[valid_id(models.ArchaeologicalSite)])
+
+
+ArchaeologicalSiteFormSet = formset_factory(ArchaeologicalSiteBasicForm,
+ can_delete=True, formset=FormSet)
+ArchaeologicalSiteFormSet.form_label = _("Archaeological sites")
+
+
class ArchaeologicalSiteSelectionForm(forms.Form):
form_label = _("Associated archaelogical sites")
archaeological_sites = forms.IntegerField(