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
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'])
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'])
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'])
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
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'])