From 86a1276cb4d8dd14278f9f775ab2f1992c989609 Mon Sep 17 00:00:00 2001
From: Dominik George <nik@naturalnet.de>
Date: Thu, 5 Sep 2019 21:02:29 +0200
Subject: [PATCH] Don't disable form fields because it is a mess to work with.

---
 biscuit/apps/chronos/forms.py | 6 ------
 biscuit/apps/chronos/views.py | 8 +-------
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/biscuit/apps/chronos/forms.py b/biscuit/apps/chronos/forms.py
index 0c2701ea..638b6d35 100644
--- a/biscuit/apps/chronos/forms.py
+++ b/biscuit/apps/chronos/forms.py
@@ -25,9 +25,3 @@ class LessonSubstitutionForm(forms.ModelForm):
     class Meta:
         model = LessonSubstitution
         fields = ['week', 'lesson_period', 'subject', 'teachers', 'room']
-
-    def __init__(self, *args, **kwargs):
-        super().__init__(*args, **kwargs)
-
-        self.fields['week'].disabled = True
-        self.fields['lesson_period'].disabled = True
diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py
index 265e890f..78508d42 100644
--- a/biscuit/apps/chronos/views.py
+++ b/biscuit/apps/chronos/views.py
@@ -140,14 +140,8 @@ def edit_substitution(request: HttpRequest, id_: int, week: int) -> HttpResponse
     lesson_substitution = LessonSubstitution.objects.filter(
         week=week, lesson_period=lesson_period).first()
     if lesson_substitution:
-        # Inject fields from URL as workaround for disabled form fields
-        # cf. https://stackoverflow.com/a/4664866/3035850
-        POST = request.POST.copy()
-        POST['week'] = week
-        POST['lesson_period'] = id_
-
         edit_substitution_form = LessonSubstitutionForm(
-            POST or None, instance=lesson_substitution)
+            request.POST or None, instance=lesson_substitution)
     else:
         edit_substitution_form = LessonSubstitutionForm(
             request.POST or None, initial={'week': week, 'lesson_period': lesson_period})
-- 
GitLab