From 17afc1f2b1423a90dd70edb35a9ceabd355a7232 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 9 Feb 2017 17:58:30 +0100
Subject: [PATCH] editing subject doesn't allow to modify screening number

---
 smash/web/forms.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/smash/web/forms.py b/smash/web/forms.py
index d989cf65..bc046b76 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -40,6 +40,19 @@ class SubjectEditForm(ModelForm):
         widget=forms.SelectDateWidget(years=YEAR_CHOICES)
     )
 
+    def __init__(self, *args, **kwargs):
+        super(SubjectEditForm, self).__init__(*args, **kwargs)
+        instance = getattr(self, 'instance', None)
+        if instance and instance.id:
+            self.fields['screening_number'].widget.attrs['readonly'] = True
+
+    def clean_foo_field(self):
+        instance = getattr(self, 'instance', None)
+        if instance and instance.id:
+            return instance.screening_number
+        else:
+            return self.cleaned_data['screening_number']
+
     class Meta:
         model = Subject
         fields = '__all__'
-- 
GitLab