def tree_related(self, request, match): # m2m tree editor for RelatedField m2m = self._get_m2m(match) if m2m is None: raise Http404 obj_id = match[1] instance = get_object_or_404(m2m['base_model'], tree_id=obj_id) related_manager = getattr(instance, m2m['fk_attr']) tree = [] if request.method == 'POST': parent = request.REQUEST.get('node', 'root') for treeitem in TreeItem.manager.json_children(parent): data = get_tree_for_model( treeitem.content_object, self._registry.get(treeitem.content_object.__class__, None)) # add checkboxes where they can be placed if treeitem.content_type.model == m2m[ 'rel_model'].__name__.lower(): data.update({ 'checked': treeitem.content_object.id in related_manager.values_list('id', flat=True), }) tree.append(data) return HttpResponse(simplejson.dumps(tree, default=encode_decimal), mimetype='text/json')
def tree_related(self, request, match): # m2m tree editor for RelatedField m2m = self._get_m2m(match) if m2m is None: raise Http404 obj_id = match[1] instance = get_object_or_404(m2m['base_model'], tree_id=obj_id) related_manager = getattr(instance, m2m['fk_attr']) tree = [] if request.method == 'POST': parent = request.REQUEST.get('node', 'root') for treeitem in TreeItem.manager.json_children(parent): data = get_tree_for_model(treeitem.content_object, self._registry.get(treeitem.content_object.__class__, None)) # add checkboxes where they can be placed if treeitem.content_type.model == m2m['rel_model'].__name__.lower(): data.update({ 'checked': treeitem.content_object.id in related_manager.values_list('id', flat=True), }) tree.append(data) return HttpResponse(simplejson.dumps(tree, default=encode_decimal), mimetype='text/json')
def tree(self, request, match): '''Return json encoded tree''' tree = [] if request.method == 'POST': parent = request.REQUEST.get('node', 'root') for treeitem in TreeItem.manager.json_children(parent): data = get_tree_for_model(treeitem.content_object, self._registry.get(treeitem.content_object.__class__, None)) if data is not None: tree.append(data) return HttpResponse(simplejson.dumps(tree, default=encode_decimal))
def tree(self, request, match): '''Return json encoded tree''' tree = [] if request.method == 'POST': parent = request.REQUEST.get('node', 'root') for treeitem in TreeItem.manager.json_children(parent): data = get_tree_for_model( treeitem.content_object, self._registry.get(treeitem.content_object.__class__, None)) if data is not None: tree.append(data) return HttpResponse(simplejson.dumps(tree, default=encode_decimal))