def studentevaluation_form_single(request, student_id=0): form = StudentEvaluationForm() date = request.POST.get('date') if request.method=='POST' else TODAY if student_id > 0: try: instance = StudentEvaluation.objects.get(student_id=IntakeSurvey.objects.get(pk=student_id), date=date) form = StudentEvaluationForm(instance=instance) except ObjectDoesNotExist: form = StudentEvaluationForm({ 'student_id':student_id, 'date':TODAY}) if request.method == 'POST': form = StudentEvaluationForm(request.POST) if form.is_valid(): #process instance = form.save() message = 'Recorded student evaluation for '+instance.student_id.name log = NotificationLog(user=request.user, text=message, font_awesome_icon='fa-calculator') log.save() #then return return HttpResponseRedirect( reverse('student_detail', kwargs={'student_id':instance.student_id.student_id})) context = {'form': form,'student_id':student_id} return render(request, 'mande/studentevaluationformsingle.html',context)
def studentevaluation_form_single(request, student_id=0): form = StudentEvaluationForm() date = request.POST.get('date') if request.method == 'POST' else TODAY if student_id > 0: try: instance = StudentEvaluation.objects.get( student_id=IntakeSurvey.objects.get(pk=student_id), date=date) form = StudentEvaluationForm(instance=instance) except ObjectDoesNotExist: form = StudentEvaluationForm({ 'student_id': student_id, 'date': TODAY }) if request.method == 'POST': form = StudentEvaluationForm(request.POST) if form.is_valid(): #process instance = form.save() message = 'Recorded student evaluation for ' + instance.student_id.name log = NotificationLog(user=request.user, text=message, font_awesome_icon='fa-calculator') log.save() #then return return HttpResponseRedirect( reverse('student_detail', kwargs={'student_id': instance.student_id.student_id})) context = {'form': form, 'student_id': student_id} return render(request, 'mande/studentevaluationformsingle.html', context)
def test_StudentEvaluationForm_valid(self): data = { "student_id": 1, "date": "2017-01-01", "test_level": 1, "academic_score": 1, "study_score": 1, "personal_score": 1, "hygiene_score": 1, "faith_score": 1, "comments": "test" } form = StudentEvaluationForm(data) self.assertTrue(form.is_valid())
def test_StudentEvaluationForm_invalid(self): data = { "date": "2017-01-01", "test_level": 1, "academic_score": 1, "study_score": 1, "personal_score": 1, "hygiene_score": 1, "faith_score": 1, "comments": "test" } form = StudentEvaluationForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form.errors, {'student_id': [u'This field is required.']})
def studentevaluation_form_single(request, student_id=0): #get current method name method_name = inspect.currentframe().f_code.co_name if user_permissions(method_name, request.user): form = StudentEvaluationForm() get_date = request.POST.get( 'date') if request.method == 'POST' else date.today().isoformat() if student_id > 0: try: instance = StudentEvaluation.objects.get( student_id=IntakeSurvey.objects.get(pk=student_id), date=get_date) form = StudentEvaluationForm(instance=instance) except ObjectDoesNotExist: form = StudentEvaluationForm({ 'student_id': student_id, 'date': date.today().isoformat() }) if request.method == 'POST': # delete StudentEvaluation where academic_score, study_score... is None so we can add a new StudentEvaluation StudentEvaluation.objects.filter( Q(academic_score=None) & Q(study_score=None) & Q(personal_score=None) & Q(hygiene_score=None) & Q(faith_score=None)).delete() form = StudentEvaluationForm(request.POST) if form.is_valid(): #process instance = form.save() message = 'Recorded student evaluation for ' + instance.student_id.name log = NotificationLog(user=request.user, text=message, font_awesome_icon='fa-calculator') log.save() #then return return HttpResponseRedirect( reverse( 'student_detail', kwargs={'student_id': instance.student_id.student_id})) context = {'form': form, 'student_id': student_id} return render(request, 'mande/studentevaluationformsingle.html', context) else: raise PermissionDenied
def studentevaluation_form_single(request, student_id=0): form = StudentEvaluationForm() get_date = request.POST.get('date') if request.method=='POST' else date.today().isoformat() if student_id > 0: try: instance = StudentEvaluation.objects.get(student_id=IntakeSurvey.objects.get(pk=student_id), date=get_date) form = StudentEvaluationForm(instance=instance) except ObjectDoesNotExist: form = StudentEvaluationForm({ 'student_id':student_id, 'date':date.today().isoformat()}) if request.method == 'POST': # delete StudentEvaluation where academic_score, study_score... is None so we can add a new StudentEvaluation StudentEvaluation.objects.filter( Q(academic_score=None) & Q(study_score=None) & Q(personal_score=None) & Q(hygiene_score=None) & Q(faith_score=None) ).delete() form = StudentEvaluationForm(request.POST) if form.is_valid(): #process instance = form.save() message = 'Recorded student evaluation for '+instance.student_id.name log = NotificationLog(user=request.user, text=message, font_awesome_icon='fa-calculator') log.save() #then return return HttpResponseRedirect( reverse('student_detail', kwargs={'student_id':instance.student_id.student_id})) context = {'form': form,'student_id':student_id} return render(request, 'mande/studentevaluationformsingle.html',context)