Exemple #1
0
def db_get_questionnaire(session, tid, questionnaire_id, language, serialize_templates=True):
    questionnaire = db_get(session,
                           models.Questionnaire,
                           (models.Questionnaire.tid.in_(set([1, tid])),
                            models.Questionnaire.id == questionnaire_id))

    return serialize_questionnaire(session, tid, questionnaire, language, serialize_templates=serialize_templates)
Exemple #2
0
def update_questionnaire(store, questionnaire_id, request, language):
    """
    Updates the specified questionnaire. If the key receivers is specified we remove
    the current receivers of the Questionnaire and reset set it to the new specified
    ones.
    If no such questionnaire exists raises :class:`globaleaks.errors.QuestionnaireIdNotFound`.

    Args:
        questionnaire_id:

        request:
            (dict) the request to use to set the attributes of the Questionnaire

    Returns:
            (dict) the serialized object updated
    """
    questionnaire = store.find(
        models.Questionnaire,
        models.Questionnaire.id == questionnaire_id).one()
    if not questionnaire:
        raise errors.QuestionnaireIdNotFound

    questionnaire = db_update_questionnaire(store, questionnaire, request,
                                            language)

    return serialize_questionnaire(store, questionnaire, language)
Exemple #3
0
def db_get_questionnaire_list(store, language):
    questionnaires = store.find(models.Questionnaire)

    return [
        serialize_questionnaire(store, questionnaire, language)
        for questionnaire in questionnaires
    ]
Exemple #4
0
def db_get_questionnaire(session, tid, questionnaire_id, language, serialize_templates=True):
    """
    Returns:
        (dict) the questionnaire with the specified id.
    """
    questionnaire = models.db_get(session, models.Questionnaire, models.Questionnaire.tid.in_(set([1, tid])), models.Questionnaire.id == questionnaire_id)

    return serialize_questionnaire(session, tid, questionnaire, language, serialize_templates=serialize_templates)
Exemple #5
0
def db_get_questionnaire(session, tid, questionnaire_id, language, serialize_templates=True):
    """
    Returns:
        (dict) the questionnaire with the specified id.
    """
    questionnaire = models.db_get(session, models.Questionnaire, models.Questionnaire.tid.in_(set([1, tid])), models.Questionnaire.id == questionnaire_id)

    return serialize_questionnaire(session, tid, questionnaire, language, serialize_templates=serialize_templates)
Exemple #6
0
def db_get_questionnaire_list(session, tid, language):
    questionnaires = session.query(models.Questionnaire).filter(
        models.Questionnaire.tid.in_(set([1, tid])))

    return [
        serialize_questionnaire(session, tid, questionnaire, language)
        for questionnaire in questionnaires
    ]
Exemple #7
0
def get_questionnaire_list(store, language):
    """
    Returns the questionnaire list.

    :param store: the store on which perform queries.
    :param language: the language in which to localize data.
    :return: a dictionary representing the serialization of the questionnaires.
    """
    return [serialize_questionnaire(store, questionnaire, language)
        for questionnaire in store.find(models.Questionnaire)]
Exemple #8
0
def db_get_questionnaire(store, questionnaire_id, language):
    """
    Returns:
        (dict) the questionnaire with the specified id.
    """
    questionnaire = models.db_get(store,
                                  models.Questionnaire,
                                  id=questionnaire_id)

    return serialize_questionnaire(store, questionnaire, language)
Exemple #9
0
def db_get_questionnaires(session, tid, language):
    """
    Transaction to retrieve the questionnnaires associated to a tenant

    :param session: the session on which perform queries.
    :param tid: A tenant ID
    :param language: The language to be used for the serialization
    :return: a dictionary representing the serialization of the questionnaires.
    """
    questionnaires = session.query(models.Questionnaire).filter(models.Questionnaire.tid.in_(set([1, tid])))

    return [serialize_questionnaire(session, tid, questionnaire, language) for questionnaire in questionnaires]
Exemple #10
0
def get_questionnaire_list(store, language):
    """
    Returns the questionnaire list.

    :param store: the store on which perform queries.
    :param language: the language in which to localize data.
    :return: a dictionary representing the serialization of the questionnaires.
    """
    return [
        serialize_questionnaire(store, questionnaire, language)
        for questionnaire in store.find(models.Questionnaire)
    ]
Exemple #11
0
def get_questionnaire(store, questionnaire_id, language):
    """
    Returns:
        (dict) the questionnaire with the specified id.
    """
    questionnaire = store.find(models.Questionnaire, models.Questionnaire.id == questionnaire_id).one()

    if not questionnaire:
        log.err("Requested invalid questionnaire")
        raise errors.QuestionnaireIdNotFound

    return serialize_questionnaire(store, questionnaire, language)
Exemple #12
0
def create_questionnaire(session, tid, request, language):
    """
    Creates a new questionnaire from the request of a client.

    Args:
        (dict) the request containing the keys to set on the model.

    Returns:
        (dict) representing the configured questionnaire
    """
    questionnaire = db_create_questionnaire(session, tid, request, language)

    return serialize_questionnaire(session, tid, questionnaire, language)
Exemple #13
0
def create_questionnaire(session, tid, request, language):
    """
    Creates a new questionnaire from the request of a client.

    Args:
        (dict) the request containing the keys to set on the model.

    Returns:
        (dict) representing the configured questionnaire
    """
    questionnaire = db_create_questionnaire(session, tid, request, language)

    return serialize_questionnaire(session, tid, questionnaire, language)
Exemple #14
0
def get_questionnaire(store, questionnaire_id, language):
    """
    Returns:
        (dict) the questionnaire with the specified id.
    """
    questionnaire = store.find(
        models.Questionnaire,
        models.Questionnaire.id == questionnaire_id).one()

    if not questionnaire:
        log.err("Requested invalid questionnaire")
        raise errors.QuestionnaireIdNotFound

    return serialize_questionnaire(store, questionnaire, language)
Exemple #15
0
def create_questionnaire(session, tid, request, language):
    """
    Updates the specified questionnaire. If the key receivers is specified we remove
    the current receivers of the Questionnaire and reset set it to the new specified
    ones.

    :param session: An ORM session
    :param tid: A tenant ID
    :param request: The request data
    :param language: The language of the request
    :return: A serialized descriptor of the questionnaire
    """
    questionnaire = db_create_questionnaire(session, tid, request, language)

    return serialize_questionnaire(session, tid, questionnaire, language)
Exemple #16
0
def create_questionnaire(store, request, language):
    """
    Creates a new questionnaire from the request of a client.

    We associate to the questionnaire the list of receivers and if the receiver is
    not valid we raise a ReceiverIdNotFound exception.

    Args:
        (dict) the request containing the keys to set on the model.

    Returns:
        (dict) representing the configured questionnaire
    """
    questionnaire = db_create_questionnaire(store, request, language)

    return serialize_questionnaire(store, questionnaire, language)
Exemple #17
0
def create_questionnaire(store, request, language):
    """
    Creates a new questionnaire from the request of a client.

    We associate to the questionnaire the list of receivers and if the receiver is
    not valid we raise a ReceiverIdNotFound exception.

    Args:
        (dict) the request containing the keys to set on the model.

    Returns:
        (dict) representing the configured questionnaire
    """
    questionnaire = db_create_questionnaire(store, request, language)

    return serialize_questionnaire(store, questionnaire, language)
Exemple #18
0
def update_questionnaire(session, tid, questionnaire_id, request, language):
    """
    Updates the specified questionnaire. If the key receivers is specified we remove
    the current receivers of the Questionnaire and reset set it to the new specified
    ones.

    Args:
        questionnaire_id:

        request:
            (dict) the request to use to set the attributes of the Questionnaire

    Returns:
            (dict) the serialized object updated
    """
    questionnaire = models.db_get(session, models.Questionnaire, models.Questionnaire.tid == tid, models.Questionnaire.id == questionnaire_id)

    questionnaire = db_update_questionnaire(session, questionnaire, request, language)

    return serialize_questionnaire(session, tid, questionnaire, language)
Exemple #19
0
def update_questionnaire(session, tid, questionnaire_id, request, language):
    """
    Updates the specified questionnaire. If the key receivers is specified we remove
    the current receivers of the Questionnaire and reset set it to the new specified
    ones.

    Args:
        questionnaire_id:

        request:
            (dict) the request to use to set the attributes of the Questionnaire

    Returns:
            (dict) the serialized object updated
    """
    questionnaire = models.db_get(session, models.Questionnaire, models.Questionnaire.tid == tid, models.Questionnaire.id == questionnaire_id)

    questionnaire = db_update_questionnaire(session, questionnaire, request, language)

    return serialize_questionnaire(session, tid, questionnaire, language)
Exemple #20
0
def db_update_questionnaire(session, tid, questionnaire_id, request, language):
    """
    Updates the specified questionnaire. If the key receivers is specified we remove
    the current receivers of the Questionnaire and reset set it to the new specified
    ones.

    :param session: An ORM session
    :param tid: A tenant ID
    :param questionnaire_id: The ID of the model to be updated
    :param request: The request data
    :param language: The language of the request
    :return: A serialized descriptor of the questionnaire
    """
    questionnaire = models.db_get(session, models.Questionnaire, models.Questionnaire.tid == tid, models.Questionnaire.id == questionnaire_id)

    fill_localized_keys(request, models.Questionnaire.localized_keys, language)

    questionnaire.update(request)

    return  serialize_questionnaire(session, tid, questionnaire, language)
Exemple #21
0
def update_questionnaire(store, questionnaire_id, request, language):
    """
    Updates the specified questionnaire. If the key receivers is specified we remove
    the current receivers of the Questionnaire and reset set it to the new specified
    ones.
    If no such questionnaire exists raises :class:`globaleaks.errors.QuestionnaireIdNotFound`.

    Args:
        questionnaire_id:

        request:
            (dict) the request to use to set the attributes of the Questionnaire

    Returns:
            (dict) the serialized object updated
    """
    questionnaire = store.find(models.Questionnaire, models.Questionnaire.id == questionnaire_id).one()
    if not questionnaire:
        raise errors.QuestionnaireIdNotFound

    questionnaire = db_update_questionnaire(store, questionnaire, request, language)

    return serialize_questionnaire(store, questionnaire, language)
Exemple #22
0
def db_get_questionnaire_list(session, tid, language):
    questionnaires = session.query(models.Questionnaire).filter(models.Questionnaire.tid.in_(set([1, tid])))

    return [serialize_questionnaire(session, tid, questionnaire, language) for questionnaire in questionnaires]