furher shorts improvements
This commit is contained in:
+57
-22
@@ -13,6 +13,7 @@ from shorts.models import (
|
||||
Abnormality,
|
||||
Examination,
|
||||
Question,
|
||||
QuestionFinding,
|
||||
QuestionImage,
|
||||
Region,
|
||||
SampleAnswer,
|
||||
@@ -29,10 +30,15 @@ from crispy_forms.layout import Submit, Layout, Div, Field, HTML
|
||||
from crispy_forms.bootstrap import InlineRadios
|
||||
|
||||
|
||||
class QuestionAnswerForm(ModelForm):
|
||||
from dal import autocomplete
|
||||
|
||||
from autocomplete import widgets as htmx_widgets, Autocomplete, AutocompleteWidget, ModelAutocomplete, register as autocomplete_register
|
||||
|
||||
|
||||
class QuestionSampleAnswerForm(ModelForm):
|
||||
class Meta:
|
||||
model = UserAnswer
|
||||
fields = ("answer",)
|
||||
model = Question
|
||||
fields = []
|
||||
|
||||
|
||||
class MarkQuestionForm(Form):
|
||||
@@ -42,10 +48,10 @@ class MarkQuestionForm(Form):
|
||||
marked_answers = CharField(required=False)
|
||||
|
||||
|
||||
class QuestionAnswerForm(ModelForm):
|
||||
class Meta:
|
||||
model = Question
|
||||
fields = []
|
||||
#class QuestionAnswerForm(ModelForm):
|
||||
# class Meta:
|
||||
# model = Question
|
||||
# fields = []
|
||||
|
||||
class QuestionForm(ModelForm):
|
||||
|
||||
@@ -93,6 +99,7 @@ class QuestionForm(ModelForm):
|
||||
Field('examination', css_class='form-control'),
|
||||
Div(InlineRadios('laterality', css_class='form-control'), css_class='clearfix clear-both'),
|
||||
Field('history', css_class='form-control'),
|
||||
Field('marking_guidance', css_class='form-control'),
|
||||
Field('feedback', css_class='form-control'),
|
||||
Field('open_access', css_class='form-control'),
|
||||
HTML("<h4 class='clear-both' id='exams-label'>Exams</h4>"),
|
||||
@@ -188,6 +195,7 @@ class QuestionForm(ModelForm):
|
||||
# "site",
|
||||
"feedback",
|
||||
"history",
|
||||
"marking_guidance",
|
||||
"open_access",
|
||||
]
|
||||
# fields = ['question', 'feedback', 'subspecialty', 'references']
|
||||
@@ -217,20 +225,20 @@ ImageFormSet = inlineformset_factory(
|
||||
# max_num=10,
|
||||
#)
|
||||
#
|
||||
#AnswerUpdateFormSet = inlineformset_factory(
|
||||
# Question,
|
||||
# SampleAnswer,
|
||||
# fields=["answer", "status"],
|
||||
# widgets={
|
||||
# "answer": Textarea(
|
||||
# attrs={"required": "false", "minlength": 2, "maxlength": 500, "rows": 3}
|
||||
# )
|
||||
# },
|
||||
# exclude=[],
|
||||
# can_delete=True,
|
||||
# extra=0,
|
||||
# max_num=10,
|
||||
#)
|
||||
SampleAnswerUpdateFormSet = inlineformset_factory(
|
||||
Question,
|
||||
SampleAnswer,
|
||||
fields=["answer", "score", "proposed"],
|
||||
widgets={
|
||||
"answer": Textarea(
|
||||
attrs={"required": "false", "minlength": 2, "maxlength": 500, "rows": 3}
|
||||
)
|
||||
},
|
||||
exclude=[],
|
||||
can_delete=True,
|
||||
extra=0,
|
||||
max_num=10,
|
||||
)
|
||||
|
||||
|
||||
# This should be made generic?
|
||||
@@ -248,4 +256,31 @@ class ExamMarkerForm(ExamMarkerFormMixin):
|
||||
|
||||
class ExamGroupsForm(ExamGroupsFormMixin):
|
||||
class Meta(ExamGroupsFormMixin.Meta):
|
||||
model = Exam
|
||||
model = Exam
|
||||
|
||||
class QuestionFindingForm(ModelForm):
|
||||
class Meta:
|
||||
model = QuestionFinding
|
||||
exclude = ["question", "annotation_json", "viewport_json", "current_image_id_index"]
|
||||
|
||||
widgets = {
|
||||
"findings": autocomplete.ModelSelect2Multiple(
|
||||
url="atlas:finding-autocomplete"
|
||||
),
|
||||
"structures": autocomplete.ModelSelect2Multiple(
|
||||
url="atlas:structure-autocomplete"
|
||||
),
|
||||
"conditions": autocomplete.ModelSelect2Multiple(
|
||||
url="atlas:condition-autocomplete"
|
||||
),
|
||||
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
if kwargs.get("question_id"):
|
||||
initial = kwargs.setdefault("initial", {})
|
||||
initial["question"] = kwargs.pop("question_id")
|
||||
|
||||
super(QuestionFindingForm, self).__init__(*args, **kwargs)
|
||||
|
||||
ModelForm.__init__(self, *args, **kwargs)
|
||||
Reference in New Issue
Block a user