Exemplo n.º 1
0
def before_questionnaire_request():
    metadata = get_metadata(current_user)
    if not metadata:
        raise NoTokenException(401)

    logger.bind(tx_id=metadata['tx_id'])

    values = request.view_args

    if check_multiple_survey(metadata, values):
        raise MultipleSurveyError

    logger.bind(eq_id=values['eq_id'],
                form_type=values['form_type'],
                ce_id=values['collection_id'])
    logger.info('questionnaire request',
                method=request.method,
                url_path=request.full_path)

    session_store = get_session_store()
    session_data = session_store.session_data

    language_code = request.args.get('language_code')
    if language_code:
        session_data.language_code = language_code
        session_store.save()

    g.schema = load_schema_from_session_data(session_data)
Exemplo n.º 2
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
    g.schema = load_schema_from_session_data(session_data)

    logger.bind(tx_id=session_data.tx_id)

    values = request.view_args
    logger.bind(eq_id=values['eq_id'], form_type=values['form_type'])
    logger.info('questionnaire request',
                method=request.method,
                url_path=request.full_path)

    metadata_from_session_data = {
        'tx_id': session_data.tx_id,
        'eq_id': session_data.eq_id,
        'form_type': session_data.form_type,
    }
    if check_multiple_survey(metadata_from_session_data, values):
        raise NoTokenException(401)