Exemplo n.º 1
0
def view_a_post(category, year, month, title):
    passed_days, remaining_days = calculate_work_date_stats()

    posts = Posts()

    answers_form = AnswerRadioForm()

    if request.args.get('q'):
        return redirect(url_for('searchresults', q=request.args.get('q')))

    current_post = posts.get_by_title(title)

    post_tag_names = current_post.get_tag_names()

    related_posts = posts.get_related_posts(current_post.id)

    category = current_post.category.get().category
    site_updated = posts.site_last_updated()

    answers_form.r_answers.choices = [(answer.p_answer, answer.p_answer)
                                      for answer in current_post.answers
                                      if answer.p_answer != u'']
    return render_template('singlepost.html', user_status=users.is_current_user_admin(), siteupdated=site_updated, \
                                        daysleft=remaining_days, dayspassed=passed_days, RelatedPosts=related_posts, \
                                        Post=current_post.to_json(), posttagnames=post_tag_names, category=category,
                                        answers_field = answers_form)
Exemplo n.º 2
0
def view_a_post(category, year, month, title):
    passed_days, remaining_days = calculate_work_date_stats()

    posts = Posts()

    answers_form = AnswerRadioForm()

    if request.args.get('q'):return redirect(url_for('searchresults',q=request.args.get('q')))

    current_post = posts.get_by_title(title)

    post_tag_names = current_post.get_tag_names()

    related_posts = posts.get_related_posts(current_post.id)

    category = current_post.category.get().category
    site_updated = posts.site_last_updated()

    answers_form.r_answers.choices = [(answer.p_answer, answer.p_answer) for answer in current_post.answers
                                      if answer.p_answer != u'']

    return render_template('singlepost.html', user_status=users.is_current_user_admin(), siteupdated=site_updated, \
                                        daysleft=remaining_days, dayspassed=passed_days, RelatedPosts=related_posts, \
                                        Post=current_post.to_json(), posttagnames=post_tag_names, category=category,
                                        answers_field = answers_form)
Exemplo n.º 3
0
def answers(title):
    posts = Posts()

    current_post = posts.get_by_title(title)

    if request.method == 'GET':  # all entitites
        return jsonify(current_post.strip_answers_jsoned())

    elif request.method == 'POST':

        raw_post = request.get_json()
        p_answer = raw_post["p_answer"]

        is_correct = raw_post["is_correct"]

        if not session.get('posts'):
            session['posts'] = []
        if title not in session.get('posts'):
            remaining_attempts =  REMAINING_ATTEMPTS \
                if len(current_post.answers) != 2 else 0

            session['posts'].append(title)
            session[title] = remaining_attempts
        else:
            remaining_attempts = session.get(title) - 1
            session[title] = remaining_attempts

        answers_form = AnswerRadioForm()
        answers_form.r_answers.data = p_answer
        answers_form.r_answers.choices = [(answer.p_answer, answer.p_answer)
                                          for answer in current_post.answers]

        if answers_form.validate_on_submit():
            answers_stats = {}
            if remaining_attempts < 0:
                result = False
                alert_type = "warning"
                msg = "Sorry, no attempts left!"

            else:
                current_post.set_selected_answer(p_answer)

                if current_post.is_answer_correct():
                    result = True
                    alert_type = "success"
                    msg = "Great!"
                    answers_stats = current_post.get_answers_statistics()
                elif remaining_attempts == 1:
                    result = False
                    alert_type = "danger"
                    msg = "You have one last attempt!"
                elif remaining_attempts == 0:
                    result = False
                    alert_type = "warning"
                    msg = "Sorry, no attempts left!"
                else:
                    result = False
                    alert_type = "warning"
                    msg = 'Please try again, {} attempts remaining.'.format(
                        remaining_attempts)

            return jsonify(result=result,
                           msg=msg,
                           remaining_attempts=remaining_attempts,
                           answers_stats=answers_stats,
                           alert_type=alert_type)
        else:
            return jsonify({})
Exemplo n.º 4
0
def answers(title):
    posts = Posts()
    current_post = posts.get_by_title(title)


    if request.method == 'GET':  # all entitites


        return jsonify(current_post.strip_answers_jsoned())
    elif request.method == 'POST':

        raw_post = request.get_json()
        p_answer = raw_post["p_answer"]

        is_correct = raw_post["is_correct"]

        if not session.get('posts'):
            session['posts'] = []
        if title not in session.get('posts'):
            remaining_attempts =  REMAINING_ATTEMPTS \
                if len(current_post.answers) != 2 else 0

            session['posts'].append(title)
            session[title] = remaining_attempts
        else:
            remaining_attempts = session.get(title) - 1
            session[title] = remaining_attempts


        answers_form = AnswerRadioForm()
        answers_form.r_answers.data = p_answer
        answers_form.r_answers.choices = [(answer.p_answer, answer.p_answer) for answer in current_post.answers]


        if answers_form.validate_on_submit():
            answers_stats = {}
            if  remaining_attempts < 0:
                result = False
                alert_type = "warning"
                msg = "Sorry, no attempts left!"

            else:
                current_post.set_selected_answer(p_answer)

                if current_post.is_answer_correct():
                    result = True
                    alert_type = "success"
                    msg = "Great!"
                    answers_stats = current_post.get_answers_statistics()
                elif remaining_attempts == 1:
                    result = False
                    alert_type = "danger"
                    msg = "You have one last attempt!"
                elif remaining_attempts == 0:
                    result = False
                    alert_type = "warning"
                    msg = "Sorry, no attempts left!"
                else:
                    result = False
                    alert_type = "warning"
                    msg = 'Please try again, {} attempts remaining.'.format(remaining_attempts)

            return jsonify(result=result,
                               msg=msg,
                               remaining_attempts=remaining_attempts,
                               answers_stats=answers_stats,
                               alert_type=alert_type)
        else:
            return jsonify({})