diff options
Diffstat (limited to 'devel/views.py')
-rw-r--r-- | devel/views.py | 72 |
1 files changed, 40 insertions, 32 deletions
diff --git a/devel/views.py b/devel/views.py index 65dde8ae..d825e31d 100644 --- a/devel/views.py +++ b/devel/views.py @@ -1,19 +1,13 @@ from django.http import HttpResponse, HttpResponseRedirect -from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User from django.core import validators -from archweb_dev.lib.utils import render_response -from archweb_dev.packages.models import Package, Repo -from archweb_dev.todolists.models import Todolist, TodolistPkg -from archweb_dev.lib.utils import validate -from archweb_dev.devel.models import UserProfile -from archweb_dev.news.models import News -from archweb_dev.devel.models import Donator, Mirror +from archweb_dev.main.utils import render_response, validate +from archweb_dev.main.models import Package, Todolist, TodolistPkg +from archweb_dev.main.models import Arch, Repo +from archweb_dev.main.models import UserProfile, News, Donor, Mirror from django.http import HttpResponse from django.template import Context, loader - -@login_required def index(request): try: thismaint = User.objects.get(username=request.user.username) @@ -27,26 +21,36 @@ def index(request): stats = Package.objects.get_flag_stats() if thismaint: # get list of flagged packages for this maintainer - pkgs = Package.objects.filter(maintainer=thismaint.id).filter(needupdate=True).order_by('repo', 'pkgname') + pkgs = Package.objects.filter( + maintainer=thismaint.id).filter( + needupdate=True).order_by('repo', 'pkgname') else: pkgs = None + arch_stats = [] + for xarch in Arch.objects.all(): + arch_stats.append({ + 'name': xarch.name, + 'count': Package.objects.filter(arch=xarch).count(), + 'flagged': Package.objects.filter(arch=xarch).filter( + needupdate=True).exclude( + repo__name__iexact='testing').count() + }) + repo_stats = [] - for repo in Repo.objects.all(): + for xrepo in Repo.objects.all(): repo_stats.append({ - 'name': repo.name, - 'count': Package.objects.filter(repo__exact = repo).count(), - 'flagged': Package.objects.filter(repo__exact = repo).filter(needupdate=True).count() + 'name': xrepo.name, + 'count': Package.objects.filter(repo=xrepo).count(), + 'flagged': Package.objects.filter( + repo=xrepo).filter(needupdate=True).count() }) - return render_response(request, 'devel/index.html', - {'stats':stats, - 'pkgs':pkgs, - 'todos':todos, - 'maint':thismaint, - 'repos': repo_stats}) + return render_response( + request, 'devel/index.html', + {'stats': stats, 'pkgs': pkgs, 'todos': todos, 'maint': thismaint, + 'repos': repo_stats, 'arches': arch_stats}) -@login_required #@is_maintainer def change_notify(request): maint = User.objects.get(username=request.user.username) @@ -58,7 +62,6 @@ def change_notify(request): maint.get_profile().save() return HttpResponseRedirect('/devel/') -@login_required def change_profile(request): errors = {} if request.POST: @@ -77,7 +80,6 @@ def change_profile(request): return HttpResponseRedirect('/devel/') return render_response(request, 'devel/profile.html', {'errors':errors,'email':request.user.email}) -@login_required def guide(request): t = loader.get_template('devel/pkgmaint_guide.txt') c = Context() @@ -88,9 +90,11 @@ def guide(request): def siteindex(request): # get the most recent 10 news items news = News.objects.order_by('-postdate', '-id')[:10] - pkgs = Package.objects.exclude(repo__name__exact='Testing').order_by('-last_update')[:15] - repos = Repo.objects.order_by('name') - return render_response(request, 'devel/siteindex.html', {'news_updates':news,'pkg_updates':pkgs,'repos':repos}) + pkgs = Package.objects.exclude(repo__name__iexact='testing').order_by('-last_update')[:15] + repos = Repo.objects.all() + return render_response( + request, 'devel/siteindex.html', + {'news_updates': news, 'pkg_updates': pkgs, 'repos': repos}) def cvs(request): return render_response(request, 'devel/cvs.html') @@ -99,13 +103,17 @@ def developers(request): devs = User.objects.filter(is_active=True).order_by('username') return render_response(request, 'devel/developers.html', {'devs':devs}) +def fellows(request): + fellows = User.objects.filter(is_active=False).order_by('username') + return render_response(request, 'devel/fellows.html', {'fellows':fellows}) + def donate(request): - donor_count = Donator.objects.count() + donor_count = Donor.objects.count() splitval = donor_count / 4 - slice1 = Donator.objects.all()[:splitval] - slice2 = Donator.objects.all()[(splitval):(splitval*2)] - slice3 = Donator.objects.all()[(splitval*2):(donor_count-splitval)] - slice4 = Donator.objects.all()[(donor_count-splitval):donor_count] + slice1 = Donor.objects.all()[:splitval] + slice2 = Donor.objects.all()[(splitval):(splitval*2)] + slice3 = Donor.objects.all()[(splitval*2):(donor_count-splitval)] + slice4 = Donor.objects.all()[(donor_count-splitval):donor_count] return render_response(request, 'devel/donate.html', {'slice1':slice1,'slice2':slice2,'slice3':slice3,'slice4':slice4}) |