diff options
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r-- | archaeological_finds/forms_treatments.py | 76 |
1 files changed, 75 insertions, 1 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py index 4f5bbac07..cb075102b 100644 --- a/archaeological_finds/forms_treatments.py +++ b/archaeological_finds/forms_treatments.py @@ -23,6 +23,7 @@ import logging from django import forms from django.conf import settings from django.core import validators +from django.db.models import Max from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ @@ -35,7 +36,9 @@ from archaeological_operations.forms import AdministrativeActOpeForm, \ AdministrativeActOpeFormSelection, AdministrativeActModifForm from ishtar_common.forms import reverse_lazy, TableSelect, FinalForm, \ - ManageOldType + ManageOldType, get_form_selection +from ishtar_common.forms_common import SourceForm, SourceSelect, \ + SourceDeletionForm from ishtar_common import widgets @@ -264,6 +267,8 @@ class AdministrativeActTreatmentSelect(TableSelect): treatment__index = forms.IntegerField(label=_(u"Treatment index")) treatment__internal_reference = forms.CharField( max_length=200, label=_(u"Treatment internal reference")) + treatment__treatment_types = forms.ChoiceField(label=_(u"Treatment type"), + choices=[]) history_modifier = forms.IntegerField( label=_(u"Modified by"), widget=widgets.JQueryAutoComplete( @@ -278,6 +283,10 @@ class AdministrativeActTreatmentSelect(TableSelect): dct={'intented_to': 'T'}) self.fields['act_type'].help_text = ActType.get_help( dct={'intented_to': 'T'}) + self.fields['treatment__treatment_types'].choices = \ + models.TreatmentType.get_types() + self.fields['treatment__treatment_types'].help_text = \ + models.TreatmentType.get_help() class AdministrativeActTreatmentFormSelection( @@ -426,6 +435,8 @@ class AdministrativeActTreatmentFileSelect(TableSelect): treatment_file__index = forms.IntegerField(label=_(u"Treatment file index")) treatment_file__internal_reference = forms.CharField( max_length=200, label=_(u"Treatment file internal reference")) + treatment_file__type = forms.ChoiceField(label=_(u"Treatment file type"), + choices=[]) history_modifier = forms.IntegerField( label=_(u"Modified by"), widget=widgets.JQueryAutoComplete( @@ -441,6 +452,10 @@ class AdministrativeActTreatmentFileSelect(TableSelect): dct={'intented_to': 'TF'}) self.fields['act_type'].help_text = ActType.get_help( dct={'intented_to': 'TF'}) + self.fields['treatment_file__type'].choices = \ + models.TreatmentFileType.get_types() + self.fields['treatment_file__type'].help_text = \ + models.TreatmentFileType.get_help() class AdministrativeActTreatmentFileFormSelection( @@ -470,3 +485,62 @@ class AdministrativeActTreatmentFileModifForm( AdministrativeActModifForm, AdministrativeActTreatmentFileForm): pk = forms.IntegerField(required=False, widget=forms.HiddenInput) index = forms.IntegerField(label=_("Index"), required=False) + +SourceTreatmentFormSelection = get_form_selection( + 'SourceTreatmentFormSelection', _(u"Treatment search"), 'treatment', + models.Treatment, TreatmentSelect, 'get-treatment', + _(u"You should select an treatment.")) + +SourceTreatmentFileFormSelection = get_form_selection( + 'SourceTreatmentFileFormSelection', _(u"Treatment file search"), + 'treatment_file', + models.TreatmentFile, TreatmentFileSelect, 'get-treatmentfile', + _(u"You should select an treatment file.")) + + +class TreatmentSourceSelect(SourceSelect): + treatment__name = forms.CharField( + label=_(u"Treatment name"), max_length=200) + treatment__year = forms.IntegerField(label=_(u"Treatment year")) + treatment__index = forms.IntegerField(label=_(u"Treatment index")) + treatment__internal_reference = forms.CharField( + max_length=200, label=_(u"Treatment internal reference")) + treatment__treatment_types = forms.ChoiceField(label=_(u"Treatment type"), + choices=[]) + + def __init__(self, *args, **kwargs): + super(TreatmentSourceSelect, self).__init__(*args, **kwargs) + self.fields['treatment__treatment_types'].choices = \ + models.TreatmentType.get_types() + self.fields['treatment__treatment_types'].help_text = \ + models.TreatmentType.get_help() + + +TreatmentSourceFormSelection = get_form_selection( + 'TreatmentSourceFormSelection', _(u"Documentation search"), 'pk', + models.TreatmentSource, TreatmentSourceSelect, 'get-treatmentsource', + _(u"You should select a document.")) + + +class TreatmentFileSourceSelect(SourceSelect): + treatment_file__name = forms.CharField( + label=_(u"Treatment file name"), max_length=200) + treatment_file__year = forms.IntegerField(label=_(u"Treatment file year")) + treatment_file__index = forms.IntegerField(label=_(u"Treatment file index")) + treatment_file__internal_reference = forms.CharField( + max_length=200, label=_(u"Treatment file internal reference")) + treatment_file__type = forms.ChoiceField(label=_(u"Treatment file type"), + choices=[]) + + def __init__(self, *args, **kwargs): + super(TreatmentFileSourceSelect, self).__init__(*args, **kwargs) + self.fields['treatment_file__type'].choices = \ + models.TreatmentFileType.get_types() + self.fields['treatment_file__type'].help_text = \ + models.TreatmentFileType.get_help() + + +TreatmentFileSourceFormSelection = get_form_selection( + 'TreatmentFileSourceFormSelection', _(u"Documentation search"), 'pk', + models.TreatmentFileSource, TreatmentFileSourceSelect, + 'get-treatmentfilesource', _(u"You should select a document.")) |