diff options
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r-- | archaeological_finds/forms_treatments.py | 20 |
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, |