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.py29
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