def generic_unlink_related(node_class, other_node_class, rel_name, request, labels, params, node_id): node = get_node_by_id(node_class, node_id) other_node_id = int(params['_other_node_id']) other_node = get_node_by_id(other_node_class, other_node_id) rel = getattr(node, rel_name) rel.disconnect(other_node)
def generic_link_related(node_class, other_node_class, rel_name, request, labels, params, node_id): node = get_node_by_id(node_class, node_id) form = form_for_node_link(other_node_class, params) if form.is_valid(): other_node_id = int(form.cleaned_data['link_to']) other_node = get_node_by_id(other_node_class, other_node_id) rel = getattr(node, rel_name) rel.connect(other_node) return node, other_node
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
def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) node = get_node_by_id(self.model, int(self.kwargs['id'])) data[self.context_name] = node return data
def decode_node_url(url): node_type, node_id = urlsplit(url).path.split('/')[1:3] node_id = int(node_id) node_class = DECODE_NODE_MAP[node_type] node = get_node_by_id(node_class, node_id) return node, node_type
def generic_delete(node_class, request, labels, params, node_id): node = get_node_by_id(node_class, node_id) node.delete()
def get_object(self, request, *args, **kwargs): id = kwargs['id'] person = get_node_by_id(Person, int(id)) return person