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)
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"
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"
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)
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))
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))