from django.shortcuts import render_to_response from django.template import RequestContext from django.contrib.auth.decorators import login_required from django.db.models import Count from main.models import Plugin, PluginPermission from buyable.models import Purchase, Buyable @login_required def startpage(request): ''' Diese Funktion wird wahrscheinlich viel Last erzeugen, da sie ueber mehrere Tabellen joined,filtered und wieder reduced. ''' allMost = Purchase.objects.filter(isDeposit=False).values('buyable__name').annotate(num_buys=Count('buyable')).order_by('-num_buys') usersMost = Purchase.objects.filter(isDeposit=False).values('buyable__name').filter(order__user=request.user.id).annotate(num_buys=Count('buyable')).order_by('-num_buys') usersLast = Purchase.objects.filter(isDeposit=False).values('buyable__name').filter(order__user=request.user.id).order_by('-order__dateTime') return render_to_response("main/startpage.html", {'allMost' : allMost,'usersMost': usersMost, 'usersLast' : usersLast}, RequestContext(request)) def register(request): return render_to_response("registration/register.html", RequestContext(request)) @login_required def settings(request): plugins = Plugin.objects.all() unallowed = Plugin.objects.exclude(pluginpermission__user=request.user) perms = PluginPermission.objects.filter(user=request.user) return render_to_response("settings/settings.html", {'plugins': plugins, 'unallowedplugins': unallowed, 'pluginpermissions': perms}, RequestContext(request))