예제 #1
0
def view(request):
    session = DBSession()
    ro, view_params = edit_init(request, session, 'links')

    if "new_link" in request.params or request.params.get("ro_id", "") != "":
        if add_link(request, session, ro) is not None:
            loc = request.current_route_url()
            return HTTPFound(location=loc)

    # check for link removal
    for link in ro.out_links + ro.in_links:
        if "rm_%s" % link.id in request.params:
            ROLink.remove(session, link)
            request.session.flash("Link removed", 'success')

            loc = request.current_route_url()
            return HTTPFound(location=loc)

    links = []
    for link in ro.out_links:
        links.append((link.id, "self", link.type, link.target))
    for link in ro.in_links:
        links.append((link.id, link.source, link.type, "self"))

    view_params["links"] = links

    return view_params
예제 #2
0
def view(request):
    session = DBSession()

    # gather data
    src = request.params["source"]
    tgt = request.params["target"]
    link_type = request.params["link_type"]

    # test ownership
    # TODO

    # find link
    query = session.query(ROLink)
    query = query.filter(ROLink.source == src)
    query = query.filter(ROLink.target == tgt)
    query = query.filter(ROLink.type == link_type)
    link, = query.all()

    ROLink.remove(session, link)

    return True