from datetime import datetime, timedelta
+import json
import time
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponseRedirect, HttpResponse, Http404
from django.template import RequestContext
from django.utils.translation import ugettext as _
-from django.utils import simplejson
from django.db import models
+from django.contrib import messages
+
from forum.http_responses import HttpResponseUnauthorized
from forum.settings.base import Setting
from forum.forms import MaintenanceModeForm, PageForm, CreateUserForm
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)])
'added_at', flat=True)
last_month_n_questions = Question.objects.filter_state(deleted=False).filter(added_at__lt=last_month).count()
- qgraph_data = simplejson.dumps([
+ qgraph_data = json.dumps([
(time.mktime(d.timetuple()) * 1000, i + last_month_n_questions)
for i, d in enumerate(last_month_questions)
])
last_month_n_users = User.objects.filter(date_joined__lt=last_month).count()
- ugraph_data = simplejson.dumps([
+ ugraph_data = json.dumps([
(time.mktime(d.timetuple()) * 1000, i + last_month_n_users)
for i, d in enumerate(last_month_users)
])
if not 'reset' in request.POST:
form.save()
- request.user.message_set.create(message=_("'%s' settings saved succesfully") % set_name)
+ messages.info(request, _("'%s' settings saved succesfully") % set_name)
if set_name in ('minrep', 'badges', 'repgain'):
settings.SETTINGS_PACK.set_value("custom")
settings.SETTINGS_PACK.set_value("bootstrap")
- request.user.message_set.create(message=_('Bootstrap mode enabled'))
+ messages.info(request, _('Bootstrap mode enabled'))
return HttpResponseRedirect(reverse('admin_index'))
@super_user_required
settings.SETTINGS_PACK.set_value("default")
- request.user.message_set.create(message=_('All values reverted to defaults'))
+ messages.info(request, ('All values reverted to defaults'))
return HttpResponseRedirect(reverse('admin_index'))
u.reputation = u.reputes.aggregate(reputation=models.Sum('value'))['reputation']
u.save()
- request.user.message_set.create(message=_('All values recalculated'))
+ messages.info(request, _('All values recalculated'))
return HttpResponseRedirect(reverse('admin_index'))
@admin_page
else:
message = _('Settings adjusted')
- request.user.message_set.create(message=message)
+ messages.info(request, message)
return HttpResponseRedirect(reverse('admin_maintenance'))
elif 'open' in request.POST:
settings.MAINTAINANCE_MODE.set_value(None)
- request.user.message_set.create(message=_("Your site is now running normally"))
+ messages.info(request, _("Your site is now running normally"))
return HttpResponseRedirect(reverse('admin_maintenance'))
else:
form = MaintenanceModeForm(initial={'ips': request.META['REMOTE_ADDR'],
user_.save()
UserJoinsAction(user=user_).save()
- request.user.message_set.create(message=_("New user created sucessfully. %s.") % html.hyperlink(
+ messages.info(request, _("New user created sucessfully. %s.") % html.hyperlink(
user_.get_profile_url(), _("See %s profile") % user_.username, target="_blank"))
return HttpResponseRedirect(reverse("admin_tools", kwargs={'name': 'createuser'}))
message = _("All selected nodes deleted")
- request.user.message_set.create(message=message)
+ messages.info(request, message)
params = pagination.generate_uri(request.GET, ('page',))
'state_types': state_types,
'authors': authors,
'tags': tags,
- 'hide_menu': True
+ 'hide_navigation': True
}))
@csrf_exempt
'osqaadmin/test_email_settings.html',
{ 'user': user, },
RequestContext(request)
- )
\ No newline at end of file
+ )