From 413e6033afa30d5ee4a5e378010804a73988aeda Mon Sep 17 00:00:00 2001 From: Art Rhyno Date: Tue, 21 Jun 2011 22:39:34 -0400 Subject: [PATCH] Explicit support for browsing by instructor and course in addition to department. Signed-off-by: Art Rhyno --- conifer/syrup/views/sites.py | 14 ++++++++++---- conifer/templates/browse_index.xhtml | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/conifer/syrup/views/sites.py b/conifer/syrup/views/sites.py index 9b64b8e..bc4af67 100644 --- a/conifer/syrup/views/sites.py +++ b/conifer/syrup/views/sites.py @@ -187,16 +187,22 @@ def my_sites(request): return g.render('my_sites.xhtml', **locals()) -def browse(request, browse_option=''): +def browse(request, browse_option='Department'): #the defaults should be moved into a config file or something... page_num = int(request.GET.get('page', 1)) count = int(request.GET.get('count', 5)) timeframe = request.session.get('timeframe', 0) time_query = models.Term.timeframe_query(timeframe) queryset = None - template = 'browse_index.xhtml' - sites = list(models.Site.objects.order_by('course__department__name', 'course__code', 'owner__last_name').select_related().filter(time_query)) - blocks = itertools.groupby(sites, lambda s: s.course.department) + if browse_option == 'Instructor': + sites = list(models.Site.objects.order_by('owner__last_name', 'course__department__name', 'course__code').select_related().filter(time_query)) + blocks = itertools.groupby(sites, lambda s: s.owner.last_name) + elif browse_option == 'Course': + sites = list(models.Site.objects.order_by('course__code', 'owner__last_name', 'course__department__name').select_related().filter(time_query)) + blocks = itertools.groupby(sites, lambda s: s.course.code) + else: + sites = list(models.Site.objects.order_by('course__department__name', 'course__code', 'owner__last_name').select_related().filter(time_query)) + blocks = itertools.groupby(sites, lambda s: s.course.department) return g.render('browse_index.xhtml', **locals()) diff --git a/conifer/templates/browse_index.xhtml b/conifer/templates/browse_index.xhtml index c71fabc..0082932 100644 --- a/conifer/templates/browse_index.xhtml +++ b/conifer/templates/browse_index.xhtml @@ -1,5 +1,12 @@ - ${title} + All Reserves by ${browse_option} -

${title}

+

All Reserves by ${browse_option}

+ (list by ${option2}, + list by ${option3}) ${timeframe_nav(timeframe)}

(Note: some reserve materials may require you -- 2.11.0