improve question adding

This commit is contained in:
Ross
2020-12-06 22:49:35 +00:00
parent 005e6d51ed
commit 3de77b6d5f
7 changed files with 152 additions and 16 deletions
+83 -10
View File
@@ -21,10 +21,10 @@ from django.http import Http404, JsonResponse
from django.http import HttpResponseRedirect, HttpResponse
from .forms import AnatomyAnswerForm, AnswerFormSet, MarkAnatomyQuestionForm, AnatomyQuestionForm
from .forms import AnatomyAnswerForm, AnswerFormSet, AnswerUpdateFormSet, BodyPartForm, ExaminationForm, MarkAnatomyQuestionForm, AnatomyQuestionForm, StructureForm
from .models import (
AnatomyQuestion,
CidUserAnswer,
AnatomyQuestion, BodyPart,
CidUserAnswer, Examination, Structure,
UserAnswer,
Exam,
Answer,
@@ -828,19 +828,15 @@ class AnatomyQuestionUpdate(LoginRequiredMixin, UpdateView):
model = AnatomyQuestion
form_class = AnatomyQuestionForm
# fields = '__all__'
# #fields = [ 'condition' ]
# #initial = {'date_of_death': '05/01/2018'}
# exclude = [ 'created_date', 'published_date' ]
def get_context_data(self, **kwargs):
context = super(AnatomyQuestionUpdate, self).get_context_data(**kwargs)
if self.request.POST:
context['answer_formset'] = AnswerFormSet(self.request.POST,
context['answer_formset'] = AnswerUpdateFormSet(self.request.POST,
self.request.FILES,
instance=self.object)
context['answer_formset'].full_clean()
else:
context['answer_formset'] = AnswerFormSet(instance=self.object)
context['answer_formset'] = AnswerUpdateFormSet(instance=self.object)
return context
def form_valid(self, form):
@@ -859,4 +855,81 @@ class AnatomyQuestionUpdate(LoginRequiredMixin, UpdateView):
formset.save()
return response
else:
return super().form_invalid(form)
return super().form_invalid(form)
@login_required
def create_body_part(request):
form = BodyPartForm(request.POST or None)
if form.is_valid():
instance = form.save()
return HttpResponse(
'<script>opener.closePopup(window, "%s", "%s", "#id_body_part");</script>'
% (instance.pk, instance))
return render(request, "anatomy/create_simple.html", {
'form': form,
'name': "BodyPart"
})
@csrf_exempt
def get_body_part_id(request):
if request.is_ajax():
body_part_name = request.GET['body_part_name']
body_part_id = BodyPart.objects.get(name=body_part_name).id
data = {
'body_part_id': body_part_id,
}
return HttpResponse(json.dumps(data), content_type='application/json')
return HttpResponse("/")
@login_required
def create_examination(request):
form = ExaminationForm(request.POST or None)
if form.is_valid():
instance = form.save()
return HttpResponse(
'<script>opener.closePopup(window, "%s", "%s", "#id_examination");</script>'
% (instance.pk, instance))
return render(request, "anatomy/create_simple.html", {
'form': form,
'name': "Examination"
})
@csrf_exempt
def get_examination_id(request):
if request.is_ajax():
examination_name = request.GET['examination_name']
examination_id = Examination.objects.get(name=examination_name).id
data = {
'examination_id': examination_id,
}
return HttpResponse(json.dumps(data), content_type='application/json')
return HttpResponse("/")
@login_required
def create_structure(request):
form = StructureForm(request.POST or None)
if form.is_valid():
instance = form.save()
return HttpResponse(
'<script>opener.closePopup(window, "%s", "%s", "#id_structure");</script>'
% (instance.pk, instance))
return render(request, "anatomy/create_simple.html", {
'form': form,
'name': "Structure"
})
@csrf_exempt
def get_structure_id(request):
if request.is_ajax():
structure_name = request.GET['structure_name']
structure_id = Structure.objects.get(name=structure_name).id
data = {
'structure_id': structure_id,
}
return HttpResponse(json.dumps(data), content_type='application/json')
return HttpResponse("/")