Advertisement
techsharif

just

Jan 16th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.68 KB | None | 0 0
  1. from django.shortcuts import render
  2. from django.views import View
  3. from django.http import HttpResponseRedirect
  4. from django.urls import reverse
  5. from .forms import ExamForm, ExamSubjectForm
  6. from .models import Exam
  7. from .models import Batch
  8. from .models import Subject
  9.  
  10.  
  11. class ExamCreateView(View):
  12.     # exam_type_class = ExamTypeForm
  13.     exam_form_class = ExamForm
  14.     subject_form_class = ExamSubjectForm
  15.     template_name = 'exam/new.html'
  16.  
  17.     def get(self, request):
  18.         exam_form = self.exam_form_class()
  19.         subject_form_class = self.subject_form_class()
  20.         return render(request, self.template_name, {'exam_form': exam_form, 'subject_form': subject_form_class})
  21.  
  22.     def post(self, request):
  23.         if request.method == 'POST':
  24.             exam_form = self.exam_form_class(request.POST)
  25.             if exam_form.is_valid():
  26.                 exam_form.save()
  27.             return HttpResponseRedirect(reverse('exam_subjects'))
  28.         # if 'save-exam' in request.POST.keys():
  29.         #     ## TODO: DATA IS NOT SAVING
  30.         #     # exam_form = self.exam_form_class(request.POST,prefix='exam')
  31.         #     # subject_form_class = self.subject_form_class(request.POST, prefix='subject')
  32.         #     # if exam_form.is_valid() and subject_form_class.is_valid():
  33.         #     #     exam = exam_form.save(commit=False)
  34.         #     #     exam.examsubject_set = subject_form_class.save()
  35.         #     return HttpResponseRedirect(reverse('get_exam'))
  36.         # elif 'save-and-add-another-exam' in request.POST.keys():
  37.         #     print(request.POST.keys())
  38.         #     ## TODO: DATA IS NOT SAVING
  39.         #     # exam_form = self.exam_form_class(request.POST)
  40.         #     # subject_form_class = self.subject_form_class(request.POST)
  41.         #     # if exam_form.is_valid():
  42.         #     #     exam_form.save()
  43.         #     # if subject_form_class.is_valid():
  44.         #     #     subject_form_class.save()
  45.         #     return render(request, self.template_name,
  46.         #                   {'exam_form': self.exam_form_class(), 'subject_form': self.subject_form_class()})
  47.  
  48.  
  49. class ExamListView(View):
  50.     template_name = 'exam/list.html'
  51.     exams = Exam.objects.order_by('date')
  52.  
  53.     def get(self, request):
  54.         return render(request, self.template_name, {'exams': self.exams})
  55.  
  56.  
  57. class ExamSubjectView(View):
  58.     def getSubjects(request, id):
  59.         template_name = 'exam/subjects_on_exam.html'
  60.         exam = Exam.objects.get(id=id)
  61.         batch = Batch.objects.get(id=exam.batch.id)
  62.         subjects = Subject.objects.filter(academic_class__id=batch.batch_academic_class.id)
  63.         return render(request, template_name, {'subjects': subjects})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement