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
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