diff options
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r-- | archaeological_operations/forms.py | 83 |
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( |