From ce564d73a6758e6ce8e15f39e47ea67910274a7d Mon Sep 17 00:00:00 2001 From: eliott Date: Sat, 22 Mar 2008 21:01:16 -0700 Subject: Added the ability to see flagged packages only, per use or repo --- devel/views.py | 25 ++++++++++++++++--------- packages/views.py | 3 +++ templates/devel/index.html | 20 ++++++++++---------- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/devel/views.py b/devel/views.py index 66843610..f243d7d0 100644 --- a/devel/views.py +++ b/devel/views.py @@ -23,29 +23,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 arch in Arch.objects.all(): + for arch_name in Package.ARCHES: + arch = Package.ARCHES[arch_name] arch_stats.append({ - 'name': arch.name, + 'name': arch_name, 'count': Package.objects.filter(arch__exact = arch).count(), - 'flagged': Package.objects.filter(arch__exact = arch).filter(needupdate=True).count() + 'flagged': Package.objects.filter( + arch__exact = arch).filter(needupdate=True).count() }) repo_stats = [] - for repo in Package.REPOS: + for repo_name in Package.REPOS: + repo = Package.REPOS[repo_name] repo_stats.append({ - 'name': repo, - 'count': Package.objects.filter(repo = Package.REPOS[repo]).count(), - 'flagged': Package.objects.filter(Package.REPOS[repo]).filter(needupdate=True).count() + 'name': repo_name, + 'count': Package.objects.filter(repo__exact = repo).count(), + 'flagged': Package.objects.filter( + repo__exact = repo).filter(needupdate=True).count() }) return render_response( request, 'devel/index.html', {'stats': stats, 'pkgs': pkgs, 'todos': todos, 'maint': thismaint, - 'repos': repo_stats, 'archs': arch_stats}) + 'repos': repo_stats, 'arches': arch_stats}) @login_required #@is_maintainer diff --git a/packages/views.py b/packages/views.py index 0b19235c..39566717 100644 --- a/packages/views.py +++ b/packages/views.py @@ -60,6 +60,7 @@ def search(request, query=''): skip = int(request.GET.get('skip', '0')) sort = request.GET.get('sort', '') maint = request.GET.get('maint', 'all') + flagged_only = request.GET.get('flagged_only', 'n') # build the form lists repos = Package.REPOS @@ -94,6 +95,8 @@ def search(request, query=''): results = results.filter(arch=Package.ARCHES[arch]) if maint != 'all': results = results.filter(maintainer=maint) + if flagged_only != 'n': + results = results.filter(needupdate=1) if lastupdate: results = results.filter( last_update__gte=datetime( diff --git a/templates/devel/index.html b/templates/devel/index.html index 3a09b522..91055376 100644 --- a/templates/devel/index.html +++ b/templates/devel/index.html @@ -30,11 +30,11 @@

Stats by Architecture

# Packages # Flagged - {% for arch in archs %} + {% for arch in arches %} - {{ arch.name }} - {{ arch.count }} packages - {{ arch.flagged }} packages + {{ arch.name }} + {{ arch.count }} packages + {{ arch.flagged }} packages {% endfor %} @@ -50,9 +50,9 @@

Stats by Repository

{% for repo in repos %} - {{ repo.name }} - {{ repo.count }} packages - {{ repo.flagged }} packages + {{ repo.name }} + {{ repo.count }} packages + {{ repo.flagged }} packages {% endfor %} @@ -69,9 +69,9 @@

Stats by Maintainer

{% for maint in stats %} - {{ maint.0.get_full_name }} - {{ maint.1 }} packages - {{ maint.2 }} packages + {{ maint.0.get_full_name }} + {{ maint.1 }} packages + {{ maint.2 }} packages {% endfor %} -- cgit v1.2.3-54-g00ecf