Exemple #1
0
def discussion_reaction(request):
    """
    Return data from DBas discussion_reaction page.

    Path: /{slug}/reaction/{arg_id_user}/{relation}/{arg_id_sys}

    :param request: request
    :return: bubbles for information and items for the next step
    """
    db_user = request.validated['user']
    db_issue = request.validated['issue']
    history = history_handler.save_and_set_cookie(request, db_user, db_issue)

    prepared_discussion = discussion.reaction(db_issue, db_user,
                                              request.validated['arg_user'],
                                              request.validated['arg_sys'],
                                              request.validated['relation'],
                                              history, request.path)
    bubbles, items = extract_items_and_bubbles(prepared_discussion)

    keys = [
        item['attitude'] for item in prepared_discussion['items']['elements']
    ]

    return {'bubbles': bubbles, 'attacks': dict(zip(keys, items))}
Exemple #2
0
def reaction(request):
    r"""
    View configuration for discussion step, where we will ask the user for her reaction (support, undercut, rebut)...

    Path: /discuss/{slug}/reaction/{arg_id_user:\d+}/{relation}/{arg_id_sys:\d+}

    :param request: request of the web server
    :return: dictionary
    """
    LOG.debug("React to a step. %s", request.validated)
    emit_participation(request)

    db_user = request.validated['user']
    db_issue = request.validated['issue']

    history = history_handler.save_and_set_cookie(request, db_user, db_issue)
    prepared_discussion = discussion.reaction(db_issue, db_user,
                                              request.validated['arg_user'],
                                              request.validated['arg_sys'],
                                              request.validated['relation'],
                                              history, request.path)
    rdict = prepare_request_dict(request)

    modify_discussion_url(prepared_discussion)
    modify_discussion_bubbles(prepared_discussion, request.registry)
    append_extras_dict(prepared_discussion, rdict,
                       request.authenticated_userid, True)

    return prepared_discussion
Exemple #3
0
def discussion_reaction(request):
    """
    View configuration for discussion step, where we will ask the user for her reaction (support, undercut, rebut)...

    Path: /discuss/{slug}/reaction/{arg_id_user:\d+}/{relation}/{arg_id_sys:\d+}

    :param request: request of the web server
    :return: dictionary
    """
    logger('discussion_reaction',
           'request.validated: {}'.format(request.validated))

    db_user = request.validated['user']
    db_issue = request.validated['issue']

    history = history_handler.handle_history(request, db_user, db_issue)
    prepared_discussion = discussion.reaction(db_issue, db_user,
                                              request.validated['arg_user'],
                                              request.validated['arg_sys'],
                                              request.validated['relation'],
                                              history, request.path)
    rdict = prepare_request_dict(request)

    __modify_discussion_url(prepared_discussion)
    __modify_discussion_bubbles(prepared_discussion, request.registry)
    __append_extras_dict(prepared_discussion, rdict,
                         request.authenticated_userid, True)

    return prepared_discussion