diff options
author | Dan McGee <dan@archlinux.org> | 2013-04-22 03:29:17 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2013-04-22 03:29:17 +0200 |
commit | 66412aa1037befef0b579c7df73656dc3b8b9804 (patch) | |
tree | d47fd7081159a54acb870a6eecc7b605022d5121 /devel | |
parent | ecf57207c0a5f90d51b6be551158ce7a0f82c9cb (diff) | |
download | archweb-66412aa1037befef0b579c7df73656dc3b8b9804.tar.gz archweb-66412aa1037befef0b579c7df73656dc3b8b9804.tar.xz |
Move stats portion of developer dashboard to separate view
This stuff is all below the fold when the page first loads, and adds a
good amount of loading time to the developer dashboard. Split it out,
where it will be wired back and hooked up via an AJAX insertion in a
future commit. Both parts work standalone as is in this commit.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'devel')
-rw-r--r-- | devel/urls.py | 1 | ||||
-rw-r--r-- | devel/views.py | 21 |
2 files changed, 16 insertions, 6 deletions
diff --git a/devel/urls.py b/devel/urls.py index 31afc86..472c645 100644 --- a/devel/urls.py +++ b/devel/urls.py @@ -5,6 +5,7 @@ urlpatterns = patterns('devel.views', (r'^admin_log/(?P<username>.*)/$','admin_log'), (r'^clock/$', 'clock', {}, 'devel-clocks'), (r'^$', 'index', {}, 'devel-index'), + (r'^stats/$', 'stats', {}, 'devel-stats'), (r'^newuser/$', 'new_user_form'), (r'^profile/$', 'change_profile'), (r'^reports/(?P<report_name>.*)/(?P<username>.*)/$', 'report'), diff --git a/devel/views.py b/devel/views.py index 4258ea7..378d6d5 100644 --- a/devel/views.py +++ b/devel/views.py @@ -33,7 +33,7 @@ from .utils import get_annotated_maintainers @login_required def index(request): - '''the developer dashboard''' + """The developer dashboard.""" if request.user.is_authenticated(): inner_q = PackageRelation.objects.filter(user=request.user) else: @@ -54,6 +54,19 @@ def index(request): signoffs = sorted(get_signoff_groups(user=request.user), key=operator.attrgetter('pkgbase')) + page_dict = { + 'todos': todolists, + 'flagged': flagged, + 'todopkgs': todopkgs, + 'signoffs': signoffs + } + + return render(request, 'devel/index.html', page_dict) + + +@login_required +def stats(request): + """The second half of the dev dashboard.""" arches = Arch.objects.all().annotate( total_ct=Count('packages'), flagged_ct=Count('packages__flag_date')) repos = Repo.objects.all().annotate( @@ -80,17 +93,13 @@ def index(request): } page_dict = { - 'todos': todolists, 'arches': arches, 'repos': repos, 'maintainers': maintainers, 'orphan': orphan, - 'flagged': flagged, - 'todopkgs': todopkgs, - 'signoffs': signoffs } - return render(request, 'devel/index.html', page_dict) + return render(request, 'devel/stats.html', page_dict) @login_required |