def add_note(request, username): user = request.user if username != user.username: return render(request, 'userena/user_add_note.html', { 'error': True, 'cur_user': user }) else: cur_user = get_object_or_404(User, username=username) if request.method == 'POST': form = AddNoteForm(request.POST, request.FILES) if form.is_valid(): note = Note(user=cur_user, name=form.cleaned_data['name'], date=datetime.datetime.now(), image=form.cleaned_data['image'], description=form.cleaned_data['description']) note.save() redir = '/accounts/' + username + '/blog/' return HttpResponseRedirect(redir) # Redirect after POST else: form = AddNoteForm() # An unbound form return render(request, 'userena/user_add_note.html', { 'form': form, 'error': False, 'cur_user': cur_user, 'user': user })
def vote(request, course_id, practical_lesson_id): course = get_object_or_404(Course, id=course_id) practical = get_object_or_404(PracticalLesson, id=practical_lesson_id) user = request.user cour_pract = CourseResult.objects.get(practical_course=course, user = user) if cour_pract.success == True: if cour_pract.achievement == True: cour_pract.achievement = False res = get_object_or_404(PracticalLessonResult, practical_lesson=practical, practical_course = cour_pract) polls = get_polls_pract_res(res, practical_lesson_id) result = 0 for p in polls: if p.question_type == 'CH': result = result_set(Choice, p, res, result, request) elif p.question_type == 'OPE': result = result_set(Open, p, res, result, request) elif p.question_type == 'COM': result = result_set(Compliance, p, res, result, request) elif p.question_type == 'SOR': result = result_set(Sort, p, res, result, request) res.result = result res.date = datetime.datetime.now() if practical.threshold*res.max/100 > result: res.success = False else: res.success = True res.save() practical_list = PracticalLesson.objects.filter(course = practical.course) for p in practical_list: try: pract = PracticalLessonResult.objects.get(practical_lesson=p, practical_course=cour_pract) except PracticalLessonResult.DoesNotExist: cour_pract.success = False break else: if pract.success == False: cour_pract.success = False break else: cour_pract.success = True cour_pract.save() if cour_pract.success == True: if cour_pract.achievement == True: name = 'Заработано достижение по курсу ' + course.name + '!' des = 'Мной получено достижение по курсу ' + course.name + ' с результатом ' + str(result) +'!' note = Note(user=user, name=name, date=datetime.datetime.now(), image=course.image, description=des) note.save() return HttpResponseRedirect(reverse('result', args=(str(practical_lesson_id))))
def add_note(request, username): user = request.user if username != user.username: return render(request, "userena/user_add_note.html", {"error": True, "cur_user": user}) else: cur_user = get_object_or_404(User, username=username) if request.method == "POST": form = AddNoteForm(request.POST, request.FILES) if form.is_valid(): note = Note( user=cur_user, name=form.cleaned_data["name"], date=datetime.datetime.now(), image=form.cleaned_data["image"], description=form.cleaned_data["description"], ) note.save() redir = "/accounts/" + username + "/blog/" return HttpResponseRedirect(redir) # Redirect after POST else: form = AddNoteForm() # An unbound form return render( request, "userena/user_add_note.html", {"form": form, "error": False, "cur_user": cur_user, "user": user} )
def vote(request, course_id, practical_lesson_id): course = get_object_or_404(Course, id=course_id) practical = get_object_or_404(PracticalLesson, id=practical_lesson_id) user = request.user cour_pract = CourseResult.objects.get(practical_course=course, user=user) if cour_pract.success == True: if cour_pract.achievement == True: cour_pract.achievement = False res = get_object_or_404(PracticalLessonResult, practical_lesson=practical, practical_course=cour_pract) polls = get_polls_pract_res(res, practical_lesson_id) result = 0 for p in polls: if p.question_type == 'CH': result = result_set(Choice, p, res, result, request) elif p.question_type == 'OPE': result = result_set(Open, p, res, result, request) elif p.question_type == 'COM': result = result_set(Compliance, p, res, result, request) elif p.question_type == 'SOR': result = result_set(Sort, p, res, result, request) res.result = result res.date = datetime.datetime.now() if practical.threshold * res.max / 100 > result: res.success = False else: res.success = True res.save() practical_list = PracticalLesson.objects.filter(course=practical.course) for p in practical_list: try: pract = PracticalLessonResult.objects.get( practical_lesson=p, practical_course=cour_pract) except PracticalLessonResult.DoesNotExist: cour_pract.success = False break else: if pract.success == False: cour_pract.success = False break else: cour_pract.success = True cour_pract.save() if cour_pract.success == True: if cour_pract.achievement == True: name = 'Заработано достижение по курсу ' + course.name + '!' des = 'Мной получено достижение по курсу ' + course.name + ' с результатом ' + str( result) + '!' note = Note(user=user, name=name, date=datetime.datetime.now(), image=course.image, description=des) note.save() return HttpResponseRedirect( reverse('result', args=(str(practical_lesson_id))))