+
+@super_user_required
+def recalculate_denormalized(request):
+ for n in Node.objects.all():
+ n = n.leaf
+ 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.aggregate(reputation=Sum('value'))['reputation']
+ u.save()
+
+ request.user.message_set.create(message=_('All values recalculated'))
+ return HttpResponseRedirect(reverse('admin_index'))
+