Ejemplo n.º 1
0
def set_new_start_argument(request):
    """
    Inserts a new argument as starting point into the database

    :param request: request of the web server
    :return: a status code, if everything was successful
    """
    LOG.debug("Insert a new argument as starting point: %s", request.json_body)
    reason = request.validated['reason']

    # set the new position
    LOG.debug("Set conclusion/position")
    prepared_dict_pos = set_position(request.validated['user'],
                                     request.validated['issue'],
                                     request.validated['position'])

    if len(prepared_dict_pos['error']) == 0:
        LOG.debug("Set premise/reason")
        prepared_dict_pos = set_positions_premise(
            request.validated['issue'], request.validated['user'],
            DBDiscussionSession.query(Statement).get(
                prepared_dict_pos['statement_uids'][0]), [[reason]], True,
            request.cookies.get('_HISTORY_'), request.mailer)
    __modifiy_discussion_url(prepared_dict_pos)

    return prepared_dict_pos
Ejemplo n.º 2
0
def add_position_with_premise(request):
    db_user: User = request.validated['user']
    db_issue: Issue = request.validated['issue']
    reference_text: str = request.validated['reference']
    origin: DataOrigin = request.validated['origin']
    history = history_handler.save_and_set_cookie(request, db_user, db_issue)
    host, path = split_url(request.environ.get("HTTP_REFERER"))

    new_position = set_position(db_user, db_issue,
                                request.validated['position-text'])

    conclusion_id: int = new_position['statement_uids'][0]
    db_conclusion: Statement = DBDiscussionSession.query(Statement).get(
        conclusion_id)

    pd = set_positions_premise(db_issue, db_user, db_conclusion,
                               [[request.validated['reason-text']]], True,
                               history, request.mailer)

    statement_uids: List[int] = flatten(pd['statement_uids'])
    LOG.info("Created %d statements: %s", len(statement_uids), statement_uids)
    __store_origin_and_reference(db_issue, db_user, origin, host, path,
                                 reference_text, statement_uids)

    if origin:
        add_origin_for_list_of_statements(origin,
                                          new_position['statement_uids'])
        add_origin_for_list_of_statements(origin,
                                          flatten(pd['statement_uids']))

    return __http_see_other_with_cors_header('/api' + pd['url'])
Ejemplo n.º 3
0
def add_premise_to_statement(request):
    db_user: User = request.validated['user']
    db_issue: Issue = request.validated['issue']
    db_statement: Statement = request.validated['statement']
    is_supportive = request.validated['attitude'] == Attitudes.AGREE
    history = history_handler.handle_history(request, db_user, db_issue)

    pd = set_positions_premise(db_issue, db_user, db_statement,
                               [[request.validated['reason-text']]],
                               is_supportive, history, request.mailer)

    return HTTPSeeOther(location='/api' + pd['url'])
Ejemplo n.º 4
0
def add_premise_to_statement(request: IRequest):
    db_user: User = request.validated['user']
    db_issue: Issue = request.validated['issue']
    db_statement: Statement = request.validated['statement']
    reference_text: str = request.validated['reference']
    is_supportive = request.validated['attitude'] == Attitudes.AGREE
    origin: DataOrigin = request.validated['origin']
    history = history_handler.save_and_set_cookie(request, db_user, db_issue)
    host, path = split_url(request.environ.get("HTTP_REFERER"))

    pd = set_positions_premise(db_issue, db_user, db_statement, [[request.validated['reason-text']]], is_supportive,
                               history, request.mailer)

    __store_origin_and_reference(db_issue, db_user, origin, host, path, reference_text, flatten(pd['statement_uids']))

    return __http_see_other_with_cors_header('/api' + pd['url'])
Ejemplo n.º 5
0
def set_new_start_premise(request):
    """
    Sets new premise for the start

    :param request: request of the web server
    :return: json-dict()
    """
    LOG.debug("Set new premise for start: %s", request.json_body)
    prepared_dict = set_positions_premise(request.validated['issue'],
                                          request.validated['user'],
                                          request.validated['conclusion'],
                                          request.validated['premisegroups'],
                                          request.validated['supportive'],
                                          request.cookies.get('_HISTORY_'),
                                          request.mailer)
    __modifiy_discussion_url(prepared_dict)
    return prepared_dict
Ejemplo n.º 6
0
def add_position_with_premise(request):
    db_user: User = request.validated['user']
    db_issue: Issue = request.validated['issue']
    history = history_handler.handle_history(request, db_user, db_issue)

    new_position = set_position(db_user, db_issue,
                                request.validated['position-text'])

    conslusion_id: int = new_position['statement_uids'][0]
    db_conclusion: Statement = DBDiscussionSession.query(Statement).get(
        conslusion_id)

    pd = set_positions_premise(db_issue, db_user, db_conclusion,
                               [[request.validated['reason-text']]], True,
                               history, request.mailer)

    return HTTPSeeOther(location='/api' + pd['url'])