X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/410bfa05ee36ed1d99356c443a5f3f6aa3ee9578..7663f822b7a40063cd05f985daf4210b09ef4bab:/forum/views/admin.py?ds=sidebyside diff --git a/forum/views/admin.py b/forum/views/admin.py index 490244f..126a348 100644 --- a/forum/views/admin.py +++ b/forum/views/admin.py @@ -11,7 +11,6 @@ from forum.settings.base import Setting from forum.settings.forms import SettingsSetForm from forum.models import Question, Answer, User, Node, Action -from forum import const from forum import settings def super_user_required(fn): @@ -27,7 +26,7 @@ def super_user_required(fn): def index(request): return render_to_response('osqaadmin/index.html', { 'sets': get_all_sets(), - 'settings_pack': settings.SETTINGS_PACK, + 'settings_pack': unicode(settings.SETTINGS_PACK), 'statistics': get_statistics(), 'recent_activity': get_recent_activity(), }, context_instance=RequestContext(request)) @@ -48,6 +47,8 @@ def settings_set(request, set_name): if set_name in ('minrep', 'badges', 'repgain'): settings.SETTINGS_PACK.set_value("custom") + + return HttpResponseRedirect(reverse('admin_set', args=[set_name])) else: form = SettingsSetForm(set) @@ -158,12 +159,12 @@ def go_defaults(request): def recalculate_denormalized(request): for n in Node.objects.all(): n = n.leaf - n.vote_up_count = n.votes.filter(canceled=False, vote=1).count() - n.vote_down_count = n.votes.filter(canceled=False, vote=-1).count() + n.score = n.votes.aggregate(score=Sum('value'))['score'] + if not n.score: n.score = 0 n.save() for u in User.objects.all(): - u.reputation = u.reputes.filter(canceled=False).aggregate(reputation=Sum('value'))['reputation'] + u.reputation = u.reputes.aggregate(reputation=Sum('value'))['reputation'] u.save() request.user.message_set.create(message=_('All values recalculated'))