summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms_treatments.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-12-11 18:31:27 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-12-11 18:32:12 +0100
commita6744b28502f13b5c66e77c071471e511314e5d6 (patch)
tree7d5391e7eb706d346080ec30a802ebf88bc218bd /archaeological_finds/forms_treatments.py
parentd249f79bdfa5eb1599cd55b81b7047ad79dfb19a (diff)
downloadIshtar-a6744b28502f13b5c66e77c071471e511314e5d6.tar.bz2
Ishtar-a6744b28502f13b5c66e77c071471e511314e5d6.zip
Manage treatment state and effective execution
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r--archaeological_finds/forms_treatments.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py
index 59df12df2..10f107814 100644
--- a/archaeological_finds/forms_treatments.py
+++ b/archaeological_finds/forms_treatments.py
@@ -96,8 +96,7 @@ class BaseTreatmentForm(CustomForm, ManageOldType):
treatment_type = widgets.Select2MultipleField(
label=_(u"Treatment type"), choices=[],
widget=widgets.CheckboxSelectMultiple)
- treatment_state = forms.ChoiceField(label=_(u"State"),
- choices=[], required=False)
+ treatment_state = forms.ChoiceField(label=_(u"State"), choices=[])
year = forms.IntegerField(label=_("Year"),
initial=lambda: datetime.datetime.now().year,
validators=[validators.MinValueValidator(1000),
@@ -151,9 +150,11 @@ class BaseTreatmentForm(CustomForm, ManageOldType):
required=False)
insurance_cost = forms.FloatField(label=_(u"Insurance cost ({currency})"),
required=False)
+ executed = forms.BooleanField(required=False, disabled=True,
+ widget=forms.HiddenInput)
TYPES = [
- FieldType('treatment_state', models.TreatmentState),
+ FieldType('treatment_state', models.TreatmentState, True),
FieldType(
'treatment_type', models.TreatmentType, is_multiple=True,
extra_args={'dct': {'upstream_is_many': False,
@@ -162,6 +163,7 @@ class BaseTreatmentForm(CustomForm, ManageOldType):
def __init__(self, *args, **kwargs):
user = kwargs.pop('user')
+ print(args, kwargs)
super(BaseTreatmentForm, self).__init__(*args, **kwargs)
# set current currency
currency = get_current_profile().currency
@@ -170,6 +172,12 @@ class BaseTreatmentForm(CustomForm, ManageOldType):
self.fields[key].label = self.fields[key].label.format(
currency=currency)
+ initial = kwargs.get('initial', {})
+ if initial.get('executed', False):
+ self.fields['treatment_state'].choices = \
+ models.TreatmentState.get_types(empty_first=False,
+ dct={'executed': True})
+
q = Person.objects.filter(ishtaruser__pk=user.pk)
if q.count():
person = q.all()[0]
@@ -261,7 +269,8 @@ class N1TreatmentForm(BaseTreatmentForm):
form_slug = "treatmentn1-020-general"
TYPES = [
- FieldType('treatment_state', models.TreatmentState),
+ FieldType('treatment_state', models.TreatmentState, True,
+ extra_args={'dct': {"executed": True}}),
FieldType(
'treatment_type', models.TreatmentType, is_multiple=True,
extra_args={'dct': {'upstream_is_many': True,
@@ -274,7 +283,8 @@ class OneNTreatmentForm(BaseTreatmentForm):
form_slug = "treatment1n-020-general"
TYPES = [
- FieldType('treatment_state', models.TreatmentState),
+ FieldType('treatment_state', models.TreatmentState, True,
+ extra_args={'dct': {"executed": True}}),
FieldType(
'treatment_type', models.TreatmentType, is_multiple=True,
extra_args={'dct': {'upstream_is_many': False,