69 lines
2.2 KiB
Python
Executable File
69 lines
2.2 KiB
Python
Executable File
from django.forms import (
|
|
Form,
|
|
ModelForm,
|
|
ModelMultipleChoiceField,
|
|
ModelChoiceField,
|
|
ChoiceField,
|
|
CharField,
|
|
HiddenInput,
|
|
)
|
|
from django.forms import inlineformset_factory
|
|
|
|
from generic.models import (
|
|
Examination, QuestionNote
|
|
)
|
|
|
|
from django.contrib.admin.widgets import FilteredSelectMultiple
|
|
from django.forms.widgets import RadioSelect, TextInput, Textarea
|
|
|
|
from rapids.models import Rapid
|
|
from anatomy.models import AnatomyQuestion
|
|
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
|
|
fields = ["examination"]
|
|
|
|
class QuestionNoteForm(ModelForm):
|
|
class Meta:
|
|
model = QuestionNote
|
|
fields = ["content_type", "object_id", "author", "note_type", "note"]
|
|
widgets = {'content_type': HiddenInput(), 'object_id': HiddenInput()}
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
question_type = kwargs.pop("question_type")
|
|
pk = kwargs.pop("pk")
|
|
user = kwargs.pop("user")
|
|
|
|
#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 = Long
|
|
# content_type = ContentType.objects.get(model="long")
|
|
#else:
|
|
# raise PermissionError()
|
|
|
|
#get_object_or_404(question, pk=pk)
|
|
# 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
|
|
#self.fields["content_type"].initial = content_type
|
|
#self.fields["object_id"].initial = pk
|