diff --git a/smash/web/forms/forms.py b/smash/web/forms/forms.py index 3106fba657d935031fcf148a5cbe6c253dc6c9d2..acead32df6e5e1401a5346ecbec59be00aac8d8d 100644 --- a/smash/web/forms/forms.py +++ b/smash/web/forms/forms.py @@ -60,6 +60,14 @@ class VisitDetailForm(ModelForm): appointment_types = forms.ModelMultipleChoiceField(required=False, widget=forms.CheckboxSelectMultiple, queryset=AppointmentType.objects.all()) + def __init__(self, *args, **kwargs): + super(VisitDetailForm, self).__init__(*args, **kwargs) + instance = getattr(self, 'instance', None) + if instance.is_finished: #set form as readonly + for key in self.fields.keys(): + self.fields[key].widget.attrs['readonly'] = True + + class Meta: model = Visit exclude = ['is_finished', 'visit_number'] diff --git a/smash/web/templates/includes/visit_appointment_types_field.html b/smash/web/templates/includes/visit_appointment_types_field.html index 4e167755b38db5821992197a8d3edf9ddb12245c..8cd1998f280aaebad4286e617f260e0191f00dbd 100644 --- a/smash/web/templates/includes/visit_appointment_types_field.html +++ b/smash/web/templates/includes/visit_appointment_types_field.html @@ -13,7 +13,7 @@ background: orange; {% endif %}{% endif %}{% endfor %}{% endfor %} "></div> - <input {% if readonly %}disabled="disabled"{% endif %} + <input {% if field.field.widget.attrs.readonly %}disabled="disabled"{% endif %} {% for option in field.value %}{% if option == pk|slugify or option == pk %}checked="checked" {% endif %}{% endfor %} type="checkbox" id="id_{{ field.name }}_{{ forloop.counter0 }}"