From 4e907c799d47bea0005e212058727e3a1c4368b6 Mon Sep 17 00:00:00 2001 From: Nick Sergeant Date: Mon, 15 Apr 2013 15:01:04 -0400 Subject: [PATCH] Only show users on homepage that have Gravatars *and* public snipts. --- accounts/models.py | 2 ++ views.py | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/accounts/models.py b/accounts/models.py index 0fec3da..70f8c97 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -86,5 +86,7 @@ class UserProfile(models.Model): return url + def has_public_snipts(self): + return True if Snipt.objects.filter(user=self, public=True).count() > 0 else False User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0]) diff --git a/views.py b/views.py index 2a5d61c..3646915 100644 --- a/views.py +++ b/views.py @@ -18,11 +18,13 @@ from settings_local import STRIPE_SECRET_KEY @render_to('homepage.html') def homepage(request): - random_users = UserProfile.objects.filter(has_gravatar=True).order_by('?')[:50] + users_with_gravatars = UserProfile.objects.filter(has_gravatar=True).order_by('?') + snipts_with_gravatars_and_public_snipts = Snipt.objects.filter(user__in=users_with_gravatars, public=True) + users_with_gravatars_and_public_snipts = User.objects.filter(id__in=snipts_with_gravatars_and_public_snipts.values('user'))[:35] + coders = [] - for random_user in random_users: - user = random_user.user + for user in users_with_gravatars_and_public_snipts: user.email_md5 = hashlib.md5(user.email.lower()).hexdigest() coders.append(user)