From d80eab740d0fdbff63f943316941400808ef9c02 Mon Sep 17 00:00:00 2001 From: Ben Lawrence <65065992+Bentheminernz@users.noreply.github.com> Date: Sun, 10 Nov 2024 14:04:34 +1300 Subject: [PATCH 1/2] Update groups_index to filter random public groups based on user ownership and membership --- groups/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/groups/views.py b/groups/views.py index 188a8606..4ea19413 100644 --- a/groups/views.py +++ b/groups/views.py @@ -17,7 +17,10 @@ def groups_index(request): # discovery of new groups and links to joined groups user: User = request.user member_groups = user.get_groups() if user.is_authenticated else None - random_public_groups = Group.objects.filter(privacy_level=Group.PrivacyLevels.PUBLIC).order_by('?')[:24] + if user.is_authenticated: + random_public_groups = Group.objects.filter(privacy_level = Group.PrivacyLevels.PUBLIC).exclude(owner=user).exclude(members=user).order_by('?')[:4] + else: + random_public_groups = Group.objects.filter(privacy_level=Group.PrivacyLevels.PUBLIC).order_by('?')[:24] pending_invites = user.pending_group_invites.all() if user.is_authenticated else None return render(request, 'groups/index.html', { 'member_groups': member_groups, From 1da2848aa1141cb20ac653e5e661a378ec2878b9 Mon Sep 17 00:00:00 2001 From: Ben Lawrence <65065992+Bentheminernz@users.noreply.github.com> Date: Sun, 10 Nov 2024 14:06:18 +1300 Subject: [PATCH 2/2] forgot the 2 in 24 -_- --- groups/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/groups/views.py b/groups/views.py index 4ea19413..e6a1319d 100644 --- a/groups/views.py +++ b/groups/views.py @@ -18,7 +18,7 @@ def groups_index(request): user: User = request.user member_groups = user.get_groups() if user.is_authenticated else None if user.is_authenticated: - random_public_groups = Group.objects.filter(privacy_level = Group.PrivacyLevels.PUBLIC).exclude(owner=user).exclude(members=user).order_by('?')[:4] + random_public_groups = Group.objects.filter(privacy_level = Group.PrivacyLevels.PUBLIC).exclude(owner=user).exclude(members=user).order_by('?')[:24] else: random_public_groups = Group.objects.filter(privacy_level=Group.PrivacyLevels.PUBLIC).order_by('?')[:24] pending_invites = user.pending_group_invites.all() if user.is_authenticated else None