Exemplo n.º 1
0
def choose(db_issue: Issue, db_user: User, is_argument: bool, is_supportive: bool, pgroup: PremiseGroup,
           pgroup_ids: list, history: str, path: str) -> dict:
    """
    Initialize the choose step for more than one premise in a discussion. Creates helper and returns a dictionary
    containing several feedback options regarding this argument.

    :param db_issue:
    :param db_user:
    :param is_argument:
    :param is_supportive:
    :param uid:
    :param pgroup:
    :param history:
    :param path:
    :return:
    """
    logger('Core', 'Entering discussion.choose')
    issue_dict = issue_helper.prepare_json_of_issue(db_issue, db_user)
    disc_ui_locales = issue_dict['lang']

    _ddh = DiscussionDictHelper(disc_ui_locales, db_user.nickname, history, slug=db_issue.slug)
    _idh = ItemDictHelper(disc_ui_locales, db_issue, path=path, history=history)
    discussion_dict = _ddh.get_dict_for_choosing(pgroup.uid, is_argument, is_supportive)
    item_dict = _idh.get_array_for_choosing(pgroup.uid, pgroup_ids, is_argument, is_supportive, db_user.nickname)

    return {
        'issues': issue_dict,
        'discussion': discussion_dict,
        'items': item_dict,
        'title': issue_dict['title']
    }
Exemplo n.º 2
0
def choose(db_issue: Issue, db_user: User, pgroup_ids: [int], history: str,
           path: str) -> dict:
    """
    Initialize the choose step for more than one premise in a discussion. Creates helper and returns a dictionary
    containing several feedback options regarding this argument.

    :param db_issue:
    :param db_user:
    :param pgroup_ids:
    :param history:
    :param path:
    :return:
    """
    LOG.debug("Entering choose function")
    issue_dict = issue_helper.prepare_json_of_issue(db_issue, db_user)
    disc_ui_locales = issue_dict['lang']

    created_argument: Argument = DBDiscussionSession.query(Argument).filter(
        Argument.premisegroup_uid == pgroup_ids[0]).one()
    is_supportive = created_argument.is_supportive
    conclusion_is_argument = created_argument.attacks is not None
    if conclusion_is_argument:
        conclusion = created_argument.attacks
    else:
        conclusion = created_argument.conclusion

    _ddh = DiscussionDictHelper(disc_ui_locales,
                                db_user.nickname,
                                history,
                                slug=db_issue.slug)
    _idh = ItemDictHelper(disc_ui_locales,
                          db_issue,
                          path=path,
                          history=history)
    discussion_dict = _ddh.get_dict_for_choosing(conclusion.uid,
                                                 conclusion_is_argument,
                                                 is_supportive)
    item_dict = _idh.get_array_for_choosing(conclusion.uid, pgroup_ids,
                                            conclusion_is_argument,
                                            is_supportive, db_user.nickname)

    return {
        'issues': issue_dict,
        'discussion': discussion_dict,
        'items': item_dict,
        'title': issue_dict['title']
    }