diff options
Diffstat (limited to 'archaeological_operations/forms.py')
| -rw-r--r-- | archaeological_operations/forms.py | 29 | 
1 files changed, 28 insertions, 1 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 0faad26a9..246fa88a6 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -30,7 +30,7 @@ from django.db.models import Max  from django.forms.formsets import DELETION_FIELD_NAME, TOTAL_FORM_COUNT  from django.shortcuts import render_to_response  from django.template import RequestContext -from django.utils.translation import ugettext_lazy as _ +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, \ @@ -682,3 +682,30 @@ class GenerateDocForm(forms.Form):          super(GenerateDocForm, self).__init__(*args, **kwargs)          self.fields['doc_generation'].choices = [('', u'-'*9)] + \                  [(choice.pk , unicode(choice)) for choice in choices] + +class AdministrativeActRegisterSelect(TableSelect): +    signature_date__year = forms.IntegerField(label=_(u"Year")) +    act_type = forms.ChoiceField(label=_("Act type"), choices=[]) + +    def __init__(self, *args, **kwargs): +        super(AdministrativeActRegisterSelect, self).__init__(*args, **kwargs) +        self.fields['act_type'].choices = models.ActType.get_types() +        self.fields['act_type'].help_text = models.ActType.get_help() + +class AdministrativeActRegisterFormSelection(forms.Form): +    form_label = pgettext_lazy('admin act register',u"Register") +    associated_models = {'pk':models.AdministrativeAct} +    currents = {'pk':models.AdministrativeAct} +    pk = forms.IntegerField(label="", required=False, +       widget=widgets.JQueryJqGrid(reverse_lazy('get-administrativeact'), +            AdministrativeActRegisterSelect, models.AdministrativeAct, +            table_cols='TABLE_COLS', +            source_full=reverse_lazy('get-administrativeact-full')), +       validators=[valid_id(models.AdministrativeAct)]) + +    def clean(self): +        cleaned_data = self.cleaned_data +        if 'pk' not in cleaned_data or not cleaned_data['pk']: +            raise forms.ValidationError(_(u"You should select an administrative" +                                           " act.")) +        return cleaned_data  | 
