From 95f3991846b5a77a18ddc05462bda92a9da6f10b Mon Sep 17 00:00:00 2001 From: eric Date: Mon, 14 Nov 2011 15:40:33 -0500 Subject: [PATCH] ungluer lists now shown in work view (the wished_by users) and search view( same as supporter) --- core/userlists.py | 13 ++++++++++++- frontend/views.py | 8 +++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/core/userlists.py b/core/userlists.py index b6cd9d3e..30992869 100644 --- a/core/userlists.py +++ b/core/userlists.py @@ -1,7 +1,8 @@ #put logic for retrieving userlists here -from django.contrib.auth.models import User import random +from django.contrib.auth.models import User +from regluit.core.models import Work def other_users(user, how_many): # do something more sophisitcated sometime later @@ -12,3 +13,13 @@ def other_users(user, how_many): slice = random.random() * (count - how_many) user_list = User.objects.all()[slice: slice+how_many] return user_list + +def supporting_users(work, how_many): + # do something more sophisitcated sometime later + count = work.wished_by().count() + if count <= how_many : + user_list = work.wished_by()[0: count] + else : + slice = random.random() * (count - how_many) + user_list = work.wished_by()[slice: slice+how_many] + return user_list diff --git a/frontend/views.py b/frontend/views.py index f39ab012..64015dd4 100755 --- a/frontend/views.py +++ b/frontend/views.py @@ -56,7 +56,7 @@ def work(request, work_id, action='display'): if action == 'setup_campaign': return render(request, 'setup_campaign.html', {'work': work}) else: - return render(request, 'work.html', {'work': work, 'premiums': premiums}) + return render(request, 'work.html', {'work': work, 'premiums': premiums, 'ungluers': userlists.supporting_users(work, 5)}) def pledge(request,work_id): @@ -169,17 +169,19 @@ def search(request): wishlist = request.user.wishlist editions = models.Edition.objects.filter(work__wishlists__in=[wishlist]) googlebooks_ids = [e['googlebooks_id'] for e in editions.values('googlebooks_id')] - + ungluers = userlists.other_users(request.user, 5) # if the results is on their wishlist flag it for result in results: if result['googlebooks_id'] in googlebooks_ids: result['on_wishlist'] = True else: result['on_wishlist'] = False - + else: + ungluers = userlists.other_users(null, 5) context = { "q": q, "results": results, + "ungluers": ungluers } return render(request, 'search.html', context)