improve question adding
This commit is contained in:
+83
-10
@@ -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("/")
|
||||
Reference in New Issue
Block a user