def add_completed_entry(request, proj_pk, role_id): role = Role.objects.get(id=role_id) questionnaire = role.get_questionnaire() questions = questionnaire.get_questions() QuestionFormset = formset_factory(QuestionForm, extra=5, max_num=len(questions)) QuestionFormset.form = staticmethod(curry(QuestionForm, role)) if request.method == 'POST': d = request.POST.get('date').split('-') date = _date(year=int(d[0]), month=int(d[1]), day=int(d[2])) uid_form = UIDForm(role, date, request.POST, request.FILES) formset = QuestionFormset() if request.is_ajax(): if uid_form.is_valid(): uid_status=uid_form.save() else: return HttpResponse('Error') QuestionFormset.form = staticmethod(curry(QuestionForm, role, uid_status)) formset = QuestionFormset(request.POST, request.FILES) if formset.is_valid(): for form in formset: form.save() return HttpResponse('Success') else: return HttpResponse('Error') if uid_form.is_valid(): uid_status = uid_form.save() else: return render(request, 'main/add_completed_entry.html', {'uid_form':uid_form, 'formset':formset, 'date':date, 'role':role}) QuestionFormset.form = staticmethod(curry(QuestionForm, role, uid_status)) formset = QuestionFormset(request.POST, request.FILES) if formset.is_valid(): for form in formset: form.save() return HttpResponseRedirect(reverse('add-completed-entry-done', kwargs={'role_id':role.id})) else: return render(request, 'main/add_completed_entry.html', {'uid_form':uid_form, 'formset':formset, 'date':date, 'role':role}) else: date = _date.today() - _timedelta(days=2) uid_form = UIDForm(role, date) formset = QuestionFormset() return render(request, 'main/add_completed_entry.html', {'uid_form':uid_form, 'formset':formset, 'date':date, 'role':role})
def add_uncompleted_entry(request, proj_pk, role_id): role = Role.objects.get(id=role_id) ErrorFormset = formset_factory(ErrorForm, extra=1, max_num = len(ErrorType.objects.all().filter(level=0))) ErrorFormset.form = staticmethod(curry(ErrorForm, role)) if request.method == 'POST': d = request.POST.get('date').split('-') date = _date(year=int(d[0]), month=int(d[1]), day=int(d[2])) uid_form = UIDForm(role, date, request.POST, request.FILES) error_formset = ErrorFormset() if uid_form.is_valid(): uid_status = uid_form.save() else: return render(request, 'main/add_uncompleted_entry.html', {'uid_form':uid_form, 'error_formset':error_formset, 'date':date, 'role':role}) ErrorFormset.form = staticmethod(curry(ErrorForm, role, uid_status)) error_formset = ErrorFormset(request.POST, request.FILES) if error_formset.is_valid(): for form in error_formset: form.save() return redirect(reverse('update-uids', kwargs={'proj_pk':proj_pk})) else: return render(request, 'main/add_uncompleted_entry.html', {'uid_form':uid_form, 'error_formset':error_formset, 'date':date, 'role':role}) else: date = _date.today() - _timedelta(days=2) uid_form = UIDForm(role, date) error_formset = ErrorFormset() return render(request, 'main/add_uncompleted_entry.html', {'uid_form':uid_form, 'error_formset':error_formset, 'date':date, 'role':role})