Ejemplo n.º 1
0
def get_feedback():
    if request.method == "POST":
        form = request.form
        satisfaction = form.get('satisfaction')
        survey_type = session.get('form_type')
        comment = form.get('comment')
        submitted_at = datetime.now(timezone.utc)

        if satisfaction:
            message = {
                'submitted_at': submitted_at.isoformat(),
                'survey_type': survey_type,
                'satisfaction': satisfaction,
                'comment': comment,
            }

            submitter = SubmitterFactory.get_submitter()
            submitter.send_answers(
                message, queue=settings.EQ_RABBITMQ_FEEDBACK_QUEUE_NAME)

            session.clear()
            return render_template("thank-you-feedback.html")
        else:
            return render_template("feedback.html", error=True)

    return render_template("feedback.html", error=False)
Ejemplo n.º 2
0
def rabbitmq_available():
    submitter = SubmitterFactory.get_submitter()
    if submitter.send_test():
        logging.info('RabbitMQ Healthtest OK')
        return True, "rabbit mq ok"
    else:
        logging.error('Cannot connect to Message Server')
        return False, "rabbit mq unavailable"
Ejemplo n.º 3
0
def rabbitmq_available():
    submitter = SubmitterFactory.get_submitter()
    if submitter.send_test():
        logger.info('rabbitmq healthtest ok')
        return True, "rabbit mq ok"
    else:
        logger.error('cannot connect to message server')
        return False, "rabbit mq unavailable"
Ejemplo n.º 4
0
def rabbitmq_available():
    submitter = SubmitterFactory.get_submitter()
    if submitter.send_test():
        logging.info('RabbitMQ Healthtest OK')
        return True, "rabbit mq ok"
    else:
        logging.error('Cannot connect to Message Server')
        return False, "rabbit mq unavailable"
Ejemplo n.º 5
0
def submit_answers(eq_id, form_type, period_id, collection_id):
    answers = get_answers(current_user)

    # check that all the answers we have are valid before submitting the data
    is_valid, invalid_location = g.questionnaire_manager.validate_all_answers()

    if is_valid:
        submitter = SubmitterFactory.get_submitter()
        submitter.send_answers(get_metadata(current_user), g.questionnaire_manager.get_schema(), answers)
        return redirect_to_questionnaire_page(eq_id, form_type, period_id, collection_id, 'thank-you')
    else:
        return redirect_to_questionnaire_page(eq_id, form_type, period_id, collection_id, invalid_location)
Ejemplo n.º 6
0
def submit_answers(eq_id, form_type, collection_id):
    metadata = get_metadata(current_user)

    answer_store = get_answer_store(current_user)

    is_valid, invalid_location = validate_all_answers(answer_store, metadata)

    if is_valid:
        path_finder = PathFinder(g.schema_json, answer_store, metadata)
        submitter = SubmitterFactory.get_submitter()
        message = convert_answers(metadata, g.schema_json, answer_store, path_finder.get_routing_path())
        submitter.send_answers(message)

        return redirect(url_for('.get_thank_you', eq_id=eq_id, form_type=form_type, collection_id=collection_id))
    else:
        return redirect(invalid_location.url(metadata))
Ejemplo n.º 7
0
def submit_answers(eq_id, form_type, collection_id):
    q_manager = get_questionnaire_manager(g.schema, g.schema_json)
    # check that all the answers we have are valid before submitting the data
    is_valid, invalid_location = q_manager.validate_all_answers()
    metadata = get_metadata(current_user)

    if is_valid:
        answer_store = get_answer_store(current_user)
        path_finder = PathFinder(g.schema_json, answer_store, metadata)
        submitter = SubmitterFactory.get_submitter()
        message = convert_answers(metadata, g.schema, answer_store, path_finder.get_routing_path())
        submitter.send_answers(message, queue=settings.EQ_RABBITMQ_QUEUE_NAME)
        logger.info("Responses submitted tx_id=%s", metadata["tx_id"])
        return redirect(url_for('.get_thank_you', eq_id=eq_id, form_type=form_type, collection_id=collection_id))
    else:
        return redirect(invalid_location.url(metadata))