from datetime import datetime, timedelta
-import os, time, csv, random
+import time
+from django.views.decorators.csrf import csrf_exempt
from django.shortcuts import render_to_response, get_object_or_404
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect, HttpResponse, Http404
-from forum.http_responses import HttpResponseUnauthorized
from django.template import RequestContext
from django.utils.translation import ugettext as _
from django.utils import simplejson
from django.db import models
+
+from forum.http_responses import HttpResponseUnauthorized
from forum.settings.base import Setting
from forum.forms import MaintenanceModeForm, PageForm, CreateUserForm
from forum.settings.forms import SettingsSetForm
from forum.utils import pagination, html
from forum.utils.mail import send_template_email
-
from forum.models import Question, Answer, User, Node, Action, Page, NodeState, Tag
from forum.models.node import NodeMetaClass
from forum.actions import NewPageAction, EditPageAction, PublishAction, DeleteAction, UserJoinsAction, CloseAction
'form', 'moderation', 'css', 'headandfoot', 'head', 'view', 'urls')]
, lambda s1, s2: s1.weight - s2.weight)
- context['tools'] = TOOLS
+ context['tools'] = [(name, fn.label) for name, fn in TOOLS.items()]
+
+ # Show the navigation only to moderators and super users
+ if not context.has_key("hide_navigation"):
+ context['hide_navigation'] = not request.user.is_superuser
unsaved = request.session.get('previewing_settings', {})
context['unsaved'] = set([getattr(settings, s).set.name for s in unsaved.keys() if hasattr(settings, s)])
'published': published
})
+@admin_page
+def delete_page(request, id=None):
+ page = get_object_or_404(Page, id=id)
+ page.delete()
+ return HttpResponseRedirect(reverse('admin_static_pages'))
+
@admin_tools_page(_('createuser'), _("Create new user"))
def create_user(request):
if request.POST:
selected_nodes = request.POST.getlist('_selected_node')
if selected_nodes and request.POST.get('action', None):
- action = request.POST['action']
+ action = str(request.POST['action'])
selected_nodes = Node.objects.filter(id__in=selected_nodes)
message = _("No action performed")
'state_types': state_types,
'authors': authors,
'tags': tags,
- 'hide_menu': True
+ 'hide_navigation': True
}))
+@csrf_exempt
@super_user_required
def test_email_settings(request):
user = request.user