diff --git a/generic/forms.py b/generic/forms.py index abd4f50f..7e64ea5f 100755 --- a/generic/forms.py +++ b/generic/forms.py @@ -21,6 +21,8 @@ from longs.models import Long from django.shortcuts import render, get_object_or_404, redirect +from django.contrib.contenttypes.models import ContentType + class ExaminationForm(ModelForm): class Meta: model = Examination @@ -37,10 +39,13 @@ class QuestionNoteForm(ModelForm): if question_type == "rapid": question = Rapid + content_type = ContentType.objects.get(model="rapid") elif question_type == "anatomy": question = AnatomyQuestion + content_type = ContentType.objects.get(model="anatomyquestion") elif question_type == "long": - question = AnatomyQuestion + question = Long + content_type = ContentType.objects.get(model="long") else: raise PermissionError() @@ -48,11 +53,13 @@ class QuestionNoteForm(ModelForm): # We get the 'initial' keyword argument or initialize it # as a dict if it didn't exist. #if kwargs.get("instance"): + ModelForm.__init__(self, *args, **kwargs) + super(QuestionNoteForm, self).__init__(*args, **kwargs) + initial = kwargs.setdefault("initial", {}) # The widget for a ModelMultipleChoiceField expects # a list of primary key for the selected data. - initial["content_type"] = question - initial["content_id"] = pk - - ModelForm.__init__(self, *args, **kwargs) - super(QuestionNoteForm, self).__init__(*args, **kwargs) \ No newline at end of file + #initial["content_type"] = question + #initial["content_id"] = pk + self.fields["content_type"].initial = content_type + self.fields["object_id"].initial = pk diff --git a/generic/migrations/0012_auto_20210505_1828.py b/generic/migrations/0012_auto_20210505_1828.py new file mode 100644 index 00000000..f0cd5d5f --- /dev/null +++ b/generic/migrations/0012_auto_20210505_1828.py @@ -0,0 +1,19 @@ +# Generated by Django 3.1.3 on 2021-05-05 18:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('generic', '0011_auto_20210503_1831'), + ] + + operations = [ + migrations.AlterField( + model_name='questionnote', + name='note_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='generic.notetype'), + ), + ] diff --git a/generic/models.py b/generic/models.py index b56a48ba..4c8175d0 100644 --- a/generic/models.py +++ b/generic/models.py @@ -116,11 +116,14 @@ class QuestionNote(models.Model): complete = models.BooleanField(default=False) - note_type = models.ForeignKey(NoteType, on_delete=models.CASCADE, null=True) + note_type = models.ForeignKey(NoteType, on_delete=models.CASCADE, null=True, blank=True) #def get_absolute_url(self): # self.pk = self.rapid_id # return reverse('rapids:question_detail', kwargs={'pk': self.pk}) def __str__(self): - return "{} [{}] {} / {}".format(self.author, self.created_on, self.note_type, self.note) \ No newline at end of file + return "{} [{}] {} / {}".format(self.author, self.created_on, self.note_type, self.note) + + def get_absolute_url(self): + return "/" \ No newline at end of file