Пример #1
0
def generic_update_node(node_class, request, labels, params, node_id):
    node = get_node_by_id(node_class, node_id)
    params = editable_params(params, labels)
    form = form_for_node_properties(node, params.keys(), params)
    if form.is_valid():
        set_node_properties_from_params(node, form.cleaned_data)
        node.save()
        return node
Пример #2
0
def generic_create_related(node_class, other_node_class, rel_name,
                           request, labels, params, node_id):
    node = get_node_by_id(node_class, node_id)
    other_labels = label_string(other_node_class.inherited_labels())
    params = editable_params(params, other_labels)
    form = form_for_node_properties(other_node_class, params.keys(), params)
    if form.is_valid():
        other_node = create_node_from_params(other_node_class, form.cleaned_data)
        rel = getattr(node, rel_name)
        rel.connect(other_node)
        return node, other_node