Files
penracourses/generic/forms.py
T
Ross dc7584502b .
2021-12-20 10:36:03 +00:00

82 lines
2.5 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 CidUser, 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
class CidUserForm(ModelForm):
class Meta:
model = CidUser
fields = [
"passcode",
"active",
"internal_candidate",
"name",
"email",
"supervisor_email",
]