summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r--archaeological_finds/forms.py78
1 files changed, 42 insertions, 36 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index f5387febe..9fdf2ddf2 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -265,39 +265,6 @@ class MultipleFindFormSelection(forms.Form):
validators=[valid_id(models.Find)])
-class BaseTreatmentForm(forms.Form):
- form_label = _(u"Base treatment")
- associated_models = {'treatment_type': models.TreatmentType,
- 'person': Person,
- 'location': Warehouse}
- treatment_type = forms.ChoiceField(label=_(u"Treatment type"), choices=[])
- person = forms.IntegerField(
- label=_(u"Person"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-person'), associated_model=Person,
- new=True),
- validators=[valid_id(Person)])
- location = forms.IntegerField(
- label=_(u"Location"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-warehouse'), associated_model=Warehouse,
- new=True),
- validators=[valid_id(Warehouse)])
- description = forms.CharField(label=_(u"Description"),
- widget=forms.Textarea, required=False)
- start_date = forms.DateField(label=_(u"Start date"), required=False,
- widget=widgets.JQueryDate)
- end_date = forms.DateField(label=_(u"End date"), required=False,
- widget=widgets.JQueryDate)
-
- def __init__(self, *args, **kwargs):
- super(BaseTreatmentForm, self).__init__(*args, **kwargs)
- self.fields['treatment_type'].choices = models.TreatmentType.get_types(
- exclude=['packaging'])
- self.fields['treatment_type'].help_text = \
- models.TreatmentType.get_help(exclude=['packaging'])
-
-
class FindMultipleFormSelection(forms.Form):
form_label = _(u"Upstream finds")
associated_models = {'finds': models.Find}
@@ -322,7 +289,9 @@ def check_treatment(form_name, type_key, type_list=[], not_type_list=[]):
not_type_list = [models.TreatmentType.objects.get(txt_idx=tpe).pk
for tpe in not_type_list]
- def func(self, request, storage):
+ def func(self):
+ request = self.request
+ storage = self.storage
if storage.prefix not in request.session or \
'step_data' not in request.session[storage.prefix] or \
form_name not in request.session[storage.prefix]['step_data'] or\
@@ -330,8 +299,11 @@ def check_treatment(form_name, type_key, type_list=[], not_type_list=[]):
request.session[storage.prefix]['step_data'][form_name]:
return False
try:
- type = int(request.session[storage.prefix]['step_data']
- [form_name][form_name + '-' + type_key])
+ tpe = request.session[storage.prefix]['step_data']\
+ [form_name][form_name + '-' + type_key]
+ if not tpe:
+ return False
+ type = int(tpe[0])
return (not type_list or type in type_list) \
and type not in not_type_list
except ValueError:
@@ -477,6 +449,40 @@ class FindBasketAddItemForm(forms.Form):
basket.items.add(item)
return basket
+
+class BaseTreatmentForm(SelectFindBasketForm):
+ form_label = _(u"Base treatment")
+ associated_models = {'treatment_type': models.TreatmentType,
+ 'person': Person,
+ 'location': Warehouse,
+ 'basket': models.FindBasket}
+ treatment_type = forms.ChoiceField(label=_(u"Treatment type"), choices=[])
+ person = forms.IntegerField(
+ label=_(u"Person"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person'), associated_model=Person,
+ new=True),
+ validators=[valid_id(Person)])
+ location = forms.IntegerField(
+ label=_(u"Location"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-warehouse'), associated_model=Warehouse,
+ new=True),
+ validators=[valid_id(Warehouse)])
+ description = forms.CharField(label=_(u"Description"),
+ widget=forms.Textarea, required=False)
+ start_date = forms.DateField(label=_(u"Start date"), required=False,
+ widget=widgets.JQueryDate)
+ end_date = forms.DateField(label=_(u"End date"), required=False,
+ widget=widgets.JQueryDate)
+
+ def __init__(self, *args, **kwargs):
+ super(BaseTreatmentForm, self).__init__(*args, **kwargs)
+ self.fields['treatment_type'].choices = models.TreatmentType.get_types(
+ exclude=['packaging'])
+ self.fields['treatment_type'].help_text = \
+ models.TreatmentType.get_help(exclude=['packaging'])
+
"""
####################################
# Source management for treatments #