+ return ('osqaadmin/createuser.html', {
+ 'form': form,
+ })
+
+class NodeManagementPaginatorContext(pagination.PaginatorContext):
+ def __init__(self, id='QUESTIONS_LIST', prefix='', default_pagesize=100):
+ super (NodeManagementPaginatorContext, self).__init__(id, sort_methods=(
+ (_('title'), pagination.SimpleSort(_('title'), '-title', "")),
+ (_('added_at'), pagination.SimpleSort(_('added_at'), '-added_at', "")),
+ (_('score'), pagination.SimpleSort(_('score'), '-score', "")),
+ (_('act_at'), pagination.SimpleSort(_('act_at'), '-last_activity_at', "")),
+ ), pagesizes=(default_pagesize,), default_pagesize=default_pagesize, prefix=prefix)
+
+@admin_tools_page(_("nodeman"), _("Node management"))
+def node_management(request):
+ if request.POST:
+ selected_nodes = request.POST.getlist('_selected_node')
+
+ if selected_nodes and request.POST.get('action', None):
+ action = request.POST['action']
+ selected_nodes = Node.objects.filter(id__in=selected_nodes)
+
+ message = _("No action performed")
+
+ if action == 'delete_selected':
+ for node in selected_nodes:
+ if node.node_type in ('question', 'answer', 'comment') and (not node.nis.deleted):
+ DeleteAction(user=request.user, node=node, ip=request.META['REMOTE_ADDR']).save()
+
+ message = _("All selected nodes marked as deleted")
+
+ request.user.message_set.create(message=message)
+ return HttpResponseRedirect(reverse("admin_tools", kwargs={'name': 'nodeman'}))
+
+
+ nodes = Node.objects.all()