def before_questionnaire_request():
    if request.method == "OPTIONS":
        return None

    if cookie_session.get("submitted"):
        raise PreviouslySubmittedException(
            "The Questionnaire has been previously submitted"
        )

    metadata = get_metadata(current_user)
    if not metadata:
        raise NoQuestionnaireStateException(401)

    questionnaire_store = get_questionnaire_store(
        current_user.user_id, current_user.user_ik
    )

    if questionnaire_store.submitted_at:
        return redirect(url_for("post_submission.get_thank_you"))

    logger.bind(
        tx_id=metadata["tx_id"],
        schema_name=metadata["schema_name"],
        ce_id=metadata["collection_exercise_sid"],
    )

    logger.info(
        "questionnaire request", method=request.method, url_path=request.full_path
    )

    handle_language()

    session_store = get_session_store()
    # pylint: disable=assigning-non-slot
    g.schema = load_schema_from_session_data(session_store.session_data)
def before_post_submission_request():
    if request.method == "OPTIONS":
        return None

    metadata = get_metadata(current_user)
    if not metadata:
        raise NoQuestionnaireStateException(401)

    questionnaire_store = get_questionnaire_store(
        current_user.user_id, current_user.user_ik
    )

    if not questionnaire_store.submitted_at:
        raise NotFound

    handle_language()

    session_store = get_session_store()
    session_data = session_store.session_data
    # pylint: disable=assigning-non-slot
    g.schema = load_schema_from_session_data(session_data)

    logger.bind(tx_id=session_data.tx_id, schema_name=session_data.schema_name)

    logger.info(
        "questionnaire request", method=request.method, url_path=request.full_path
    )
def _render_error_page(status_code, template=None, **kwargs):
    handle_language()
    template = template or status_code

    return (
        render_template(template=f"errors/{template}", **kwargs),
        status_code,
    )
def _render_error_page(status_code, template=None):
    handle_language()
    template = template or status_code
    using_edge = request.user_agent.browser == "edge"

    return (
        render_template(template=f"errors/{template}", using_edge=using_edge),
        status_code,
    )
示例#5
0
def before_post_submission_request():
    session_store = get_session_store()
    if not session_store or not session_store.session_data:
        raise NoTokenException(401)

    session_data = session_store.session_data

    handle_language()

    g.schema = load_schema_from_session_data(session_data)

    logger.bind(tx_id=session_data.tx_id, schema_name=session_data.schema_name)

    logger.info(
        "questionnaire request", method=request.method, url_path=request.full_path
    )
示例#6
0
def before_post_submission_request():
    if request.method == "OPTIONS":
        return None

    session_store = get_session_store()
    session_data = session_store.session_data
    if not session_data.submitted_time:
        raise NotFound

    handle_language()

    g.schema = load_schema_from_session_data(session_data)

    logger.bind(tx_id=session_data.tx_id, schema_name=session_data.schema_name)

    logger.info("questionnaire request",
                method=request.method,
                url_path=request.full_path)
示例#7
0
def before_questionnaire_request():
    metadata = get_metadata(current_user)
    if not metadata:
        raise NoTokenException(401)

    logger.bind(
        tx_id=metadata["tx_id"],
        schema_name=metadata["schema_name"],
        ce_id=metadata["collection_exercise_sid"],
        questionnaire_id=metadata["questionnaire_id"],
    )

    logger.info(
        "questionnaire request", method=request.method, url_path=request.full_path
    )

    handle_language()

    session_store = get_session_store()
    g.schema = load_schema_from_session_data(session_store.session_data)
def before_individual_response_request():
    if request.method == "OPTIONS":
        return None

    metadata = get_metadata(current_user)
    if not metadata:
        raise NoQuestionnaireStateException(401)

    logger.bind(
        tx_id=metadata["tx_id"],
        schema_name=metadata["schema_name"],
        ce_id=metadata["collection_exercise_sid"],
        questionnaire_id=metadata["questionnaire_id"],
    )

    logger.info(
        "individual-response request", method=request.method, url_path=request.full_path
    )

    handle_language()

    session_store = get_session_store()
    g.schema = load_schema_from_session_data(session_store.session_data)
示例#9
0
def before_static_request():
    handle_language()