diff options
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r-- | archaeological_operations/forms.py | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index d10019aa8..af0dbb1ac 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -275,6 +275,15 @@ class OperationCodeInput(forms.HiddenInput): 'url':reverse_lazy('get_available_operation_code')} return mark_safe(rendered + js) +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 OperationFormGeneral(forms.Form): form_label = _(u"General") base_model = 'archaeological_site' @@ -282,10 +291,8 @@ class OperationFormGeneral(forms.Form): 'in_charge':Person, 'cira_rapporteur':Person, 'operator':Organization, - 'associated_file':File, 'operation_type':models.OperationType, 'archaeological_site':models.ArchaeologicalSite} - currents = {'associated_file':File} pk = forms.IntegerField(required=False, widget=forms.HiddenInput) scientist = forms.IntegerField(label=_("Head scientist"), widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-person', @@ -306,10 +313,6 @@ class OperationFormGeneral(forms.Form): [unicode(PersonType.objects.get(txt_idx='sra_agent').pk)])]), associated_model=Person, new=True), validators=[valid_id(Person)], required=False) - associated_file = forms.IntegerField(label=_(u"Archaelogical file"), - widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-file'), - associated_model=File), - validators=[valid_id(File)], required=False) operation_type = forms.ChoiceField(label=_(u"Operation type"), choices=[]) start_date = forms.DateField(label=_(u"Start date"), required=False, @@ -394,8 +397,24 @@ class OperationFormGeneral(forms.Form): return self.cleaned_data class OperationFormModifGeneral(OperationFormGeneral): - operation_code = forms.IntegerField(label=_(u"Operation code"), - initial=models.Operation.get_available_operation_code) + currents = {'associated_file':File} + operation_code = forms.IntegerField(label=_(u"Operation code")) + 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) + self.fields.keyOrder = list(self.fields.keyOrder) + self.fields.keyOrder.pop(self.fields.keyOrder.index('associated_file')) + self.fields.keyOrder.insert(self.fields.keyOrder.index('in_charge'), + 'associated_file') + +OperationFormModifGeneral.associated_models = \ + OperationFormGeneral.associated_models.copy() +OperationFormModifGeneral.associated_models['associated_file'] = File + class OperationFormPreventive(forms.Form): form_label = _(u"Preventive informations - excavation") |