def create_context_review(request): data = {} if "id" in request.GET: user = RequestContext(request)["user"] challenge = Challenge.objects.get(pk=request.GET.get("id")) if not challenge.is_enabled_for_user(user): raise Http404 if challenge.has_enough_user_reviews(user): raise Http404 if not challenge.submitted_by_user(user): raise Http404 review = Review.get_open_review(challenge, user) if not review: # number of hours needed to pass until elaboration is applicable as candidate offset = randint(ReviewConfig.get_candidate_offset_min(), ReviewConfig.get_candidate_offset_max()) review_candidate = Elaboration.get_review_candidate(challenge, user, offset) if review_candidate: review = Review(elaboration=review_candidate, reviewer=user) review.save() else: return data data["review"] = review data["stack_id"] = challenge.get_stack().id review_questions = ReviewQuestion.objects.filter(challenge=challenge).order_by("order") data["questions"] = review_questions return data
def create_context_review(request): data = {} if 'id' in request.GET: user = request.user challenge = Challenge.objects.get(pk=request.GET.get('id')) if not challenge.is_enabled_for_user(user): raise Http404 if challenge.has_enough_user_reviews(user): raise Http404 if not challenge.submitted_by_user(user): raise Http404 review = Review.get_open_review(challenge, user) if not review: review_candidate = Elaboration.get_review_candidate(challenge, user) if review_candidate: review = Review(elaboration=review_candidate['candidate'], reviewer=user, chosen_by=review_candidate['chosen_by']) review.save() else: return data data['review'] = review data['stack_id'] = challenge.get_stack().id review_questions = ReviewQuestion.objects.filter(challenge=challenge).order_by("order") author_questions = [question for question in review_questions if question.visible_to_author == True] staff_questions = [question for question in review_questions if question.visible_to_author == False] data['questions'] = review_questions data['author_questions'] = author_questions data['staff_questions'] = staff_questions extra_review_question_present = len(review.elaboration.extra_review_question) > 0 data['extra_review_question_present'] = extra_review_question_present return data
def create_context_review(request): data = {} if 'id' in request.GET: user = RequestContext(request)['user'] challenge = Challenge.objects.get(pk=request.GET.get('id')) if not challenge.is_enabled_for_user(user): raise Http404 if challenge.has_enough_user_reviews(user): raise Http404 if not challenge.submitted_by_user(user): raise Http404 review = Review.get_open_review(challenge, user) if not review: # number of hours needed to pass until elaboration is applicable as candidate offset = randint(ReviewConfig.get_candidate_offset_min(), ReviewConfig.get_candidate_offset_max()) review_candidate = Elaboration.get_review_candidate( challenge, user, offset) if review_candidate: review = Review(elaboration=review_candidate, reviewer=user) review.save() else: return data data['review'] = review data['stack_id'] = challenge.get_stack().id review_questions = ReviewQuestion.objects.filter( challenge=challenge).order_by("order") data['questions'] = review_questions return data
def create_context_review(request): data = {} if 'id' in request.GET: user = request.user challenge = Challenge.objects.get(pk=request.GET.get('id')) if not challenge.is_enabled_for_user(user): raise Http404 if challenge.has_enough_user_reviews(user): raise Http404 if not challenge.submitted_by_user(user): raise Http404 review = Review.get_open_review(challenge, user) if not review: review_candidate = Elaboration.get_review_candidate( challenge, user) if review_candidate: review = Review(elaboration=review_candidate['candidate'], reviewer=user, chosen_by=review_candidate['chosen_by']) review.save() else: return data data['review'] = review data['stack_id'] = challenge.get_stack().id review_questions = ReviewQuestion.objects.filter( challenge=challenge).order_by("order") author_questions = [ question for question in review_questions if question.visible_to_author == True ] staff_questions = [ question for question in review_questions if question.visible_to_author == False ] data['questions'] = review_questions data['author_questions'] = author_questions data['staff_questions'] = staff_questions extra_review_question_present = len( review.elaboration.extra_review_question) > 0 data['extra_review_question_present'] = extra_review_question_present return data
def create_context_review(request): data = {} if 'id' in request.GET: user = request.user challenge = Challenge.objects.get(pk=request.GET.get('id')) if not challenge.is_enabled_for_user(user): raise Http404 if challenge.has_enough_user_reviews(user): raise Http404 if not challenge.submitted_by_user(user): raise Http404 review = Review.get_open_review(challenge, user) if not review: review_candidate = Elaboration.get_review_candidate(challenge, user) if review_candidate: review = Review(elaboration=review_candidate['candidate'], reviewer=user, chosen_by=review_candidate['chosen_by']) review.save() else: return data data['review'] = review data['stack_id'] = challenge.get_stack().id review_questions = ReviewQuestion.objects.filter(challenge=challenge).order_by("order") data['questions'] = review_questions return data