From 8c3634bbd1fdb12f5105b6f9908f923850207935 Mon Sep 17 00:00:00 2001 From: Ross Date: Thu, 29 Apr 2021 23:33:27 +0100 Subject: [PATCH] . --- anatomy/forms.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/anatomy/forms.py b/anatomy/forms.py index 5c28b6dc..ddeb892e 100644 --- a/anatomy/forms.py +++ b/anatomy/forms.py @@ -56,6 +56,16 @@ class AnatomyQuestionForm(ModelForm): def __init__(self, *args, **kwargs): self.user = kwargs.pop('user') # To get request.user. Do not use kwargs.pop('user', None) due to potential security hole + if kwargs.get("instance"): + # We get the 'initial' keyword argument or initialize it + # as a dict if it didn't exist. + initial = kwargs.setdefault("initial", {}) + # The widget for a ModelMultipleChoiceField expects + # a list of primary key for the selected data. + initial["exams"] = [t.pk for t in kwargs["instance"].exams.all()] + + ModelForm.__init__(self, *args, **kwargs) + super(AnatomyQuestionForm, self).__init__(*args, **kwargs) # self.fields['question'].widget.attrs = {'class': 'question-form', 'rows': 10, 'cols': 100} # self.fields['feedback'].widget.attrs = {'class': 'feedback-form', 'rows': 10, 'cols': 100} @@ -102,16 +112,6 @@ class AnatomyQuestionForm(ModelForm): ) - if kwargs.get("instance"): - # We get the 'initial' keyword argument or initialize it - # as a dict if it didn't exist. - initial = kwargs.setdefault("initial", {}) - # The widget for a ModelMultipleChoiceField expects - # a list of primary key for the selected data. - initial["exams"] = [t.pk for t in kwargs["instance"].exams.all()] - - ModelForm.__init__(self, *args, **kwargs) - def save(self, commit=True): # Get the unsaved Pizza instance instance = ModelForm.save(self, False)