def back(request, course_short_title=None): selection = request.session.get('selection', 'error') course = Course.get_or_raise_404(short_title=course_short_title) if selection == "search": return HttpResponse() if selection == "missing_reviews": elaborations = Elaboration.get_missing_reviews(course) if selection == "top_level_tasks": elaborations = Elaboration.get_top_level_tasks(course) if selection == "non_adequate_work": elaborations = Elaboration.get_non_adequate_work(course) if selection == "complaints": elaborations = Elaboration.get_complaints(course) if selection == "awesome": elaborations = Elaboration.get_awesome(course) if selection == "evaluated_non_adequate_work": elaborations = Elaboration.get_evaluated_non_adequate_work(course) # update overview if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by('submission_time') request.session['elaborations'] = serializers.serialize('json', elaborations) return evaluation(request, course_short_title)
def missing_reviews(request, course_short_title=None): course = Course.get_or_raise_404(short_title=course_short_title) elaborations = Elaboration.get_missing_reviews(course) # sort elaborations by submission time if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by('submission_time') # store selected elaborations in session request.session['elaborations'] = serializers.serialize( 'json', elaborations) request.session['selection'] = 'missing_reviews' request.session['count'] = len(elaborations) return render_to_response('evaluation.html', {'overview': render_to_string('overview.html', {'elaborations': elaborations, 'course': course}, RequestContext(request)), 'count_missing_reviews': request.session.get('count', '0'), 'stabilosiert_missing_reviews': 'stabilosiert', 'selection': request.session['selection'], 'course': course }, context_instance=RequestContext(request))
def back(request, course_short_title=None): selection = request.session.get('selection', 'error') course = Course.get_or_raise_404(short_title=course_short_title) if selection == "search": return HttpResponse() if selection == "missing_reviews": elaborations = Elaboration.get_missing_reviews(course) if selection == "top_level_tasks": elaborations = Elaboration.get_top_level_tasks(course) if selection == "non_adequate_work": elaborations = Elaboration.get_non_adequate_work(course) if selection == "complaints": elaborations = Elaboration.get_complaints(course) if selection == "awesome": elaborations = Elaboration.get_awesome(course) if selection == "evaluated_non_adequate_work": elaborations = Elaboration.get_evaluated_non_adequate_work(course) # update overview if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by('submission_time') request.session['elaborations'] = serializers.serialize( 'json', elaborations) return evaluation(request, course_short_title)
def missing_reviews(request, course_short_title=None): course = Course.get_or_raise_404(short_title=course_short_title) elaborations = Elaboration.get_missing_reviews(course) # sort elaborations by submission time if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by('submission_time') # store selected elaborations in session request.session['elaborations'] = serializers.serialize( 'json', elaborations) request.session['selection'] = 'missing_reviews' request.session['count'] = len(elaborations) return render_to_response('evaluation.html', { 'overview': render_to_string('overview.html', { 'elaborations': elaborations, 'course': course }, RequestContext(request)), 'count_missing_reviews': request.session.get('count', '0'), 'stabilosiert_missing_reviews': 'stabilosiert', 'selection': request.session['selection'], 'course': course }, context_instance=RequestContext(request))
def missing_reviews(request, course_short_title=None): course = Course.get_or_raise_404(short_title=course_short_title) elaborations = Elaboration.get_missing_reviews(course) # sort elaborations by submission time if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by("submission_time") # store selected elaborations in session request.session["elaborations"] = serializers.serialize("json", elaborations) request.session["selection"] = "missing_reviews" request.session["count"] = len(elaborations) return render_to_response( "evaluation.html", { "overview": render_to_string( "overview.html", {"elaborations": elaborations, "course": course}, RequestContext(request) ), "count_missing_reviews": request.session.get("count", "0"), "stabilosiert_missing_reviews": "stabilosiert", "selection": request.session["selection"], "course": course, }, context_instance=RequestContext(request), )
def review_answer(request, course_short_title=None): course = Course.get_or_raise_404(short_title=course_short_title) data = request.body.decode(encoding='UTF-8') data = json.loads(data) user = request.user answers = data['answers'] elab_id_from_client = data['elab'] review = Review.objects.create( elaboration_id=elab_id_from_client, reviewer_id=user.id) review.appraisal = data['appraisal'] review.submission_time = datetime.now() review.save() for answer in answers: question_id = answer['question_id'] text = answer['answer'] review_question = ReviewQuestion.objects.get(pk=question_id) ReviewAnswer( review=review, review_question=review_question, text=text).save() if review.appraisal == review.NOTHING: Notification.bad_review(review) else: Notification.enough_peer_reviews(review) # update overview elaborations = Elaboration.get_missing_reviews(course) if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by('submission_time') request.session['elaborations'] = serializers.serialize( 'json', elaborations) if review.elaboration.is_reviewed_2times(): evaluation_url = reverse('Evaluation:home', args=[course_short_title]) else: evaluation_url = reverse('Evaluation:detail', args=[course_short_title])\ + "?elaboration_id=" + str(review.elaboration.id) return HttpResponse(evaluation_url)
def review_answer(request, course_short_title=None): course = Course.get_or_raise_404(short_title=course_short_title) data = request.body.decode(encoding='UTF-8') data = json.loads(data) user = RequestContext(request)['user'] answers = data['answers'] review = Review.objects.create(elaboration_id=request.session.get( 'elaboration_id', ''), reviewer_id=user.id) review.appraisal = data['appraisal'] review.submission_time = datetime.now() review.save() for answer in answers: question_id = answer['question_id'] text = answer['answer'] review_question = ReviewQuestion.objects.get(pk=question_id) ReviewAnswer(review=review, review_question=review_question, text=text).save() if review.appraisal == review.NOTHING: Notification.bad_review(review) else: Notification.enough_peer_reviews(review) # update overview elaborations = Elaboration.get_missing_reviews(course) if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by('submission_time') request.session['elaborations'] = serializers.serialize( 'json', elaborations) if review.elaboration.is_reviewed_2times(): evaluation_url = reverse('Evaluation:home', args=[course_short_title]) else: evaluation_url = reverse('Evaluation:detail', args=[course_short_title])\ + "?elaboration_id=" + str(review.elaboration.id) return HttpResponse(evaluation_url)
def review_answer(request, course_short_title=None): course = Course.get_or_raise_404(short_title=course_short_title) data = request.body.decode(encoding="UTF-8") data = json.loads(data) user = RequestContext(request)["user"] answers = data["answers"] review = Review.objects.create(elaboration_id=request.session.get("elaboration_id", ""), reviewer_id=user.id) review.appraisal = data["appraisal"] review.submission_time = datetime.now() review.save() for answer in answers: question_id = answer["question_id"] text = answer["answer"] review_question = ReviewQuestion.objects.get(pk=question_id) ReviewAnswer(review=review, review_question=review_question, text=text).save() if review.appraisal == review.NOTHING: Notification.bad_review(review) else: Notification.enough_peer_reviews(review) # update overview elaborations = Elaboration.get_missing_reviews(course) if type(elaborations) == list: elaborations.sort(key=lambda elaboration: elaboration.submission_time) else: elaborations = elaborations.order_by("submission_time") request.session["elaborations"] = serializers.serialize("json", elaborations) if review.elaboration.is_reviewed_2times(): evaluation_url = reverse("Evaluation:home", args=[course_short_title]) else: evaluation_url = ( reverse("Evaluation:detail", args=[course_short_title]) + "?elaboration_id=" + str(review.elaboration.id) ) return HttpResponse(evaluation_url)