From 17eb83c760b57342403d6a585feaab74c93c83e3 Mon Sep 17 00:00:00 2001 From: Disco DeDisco Date: Sun, 22 Feb 2026 21:18:22 -0500 Subject: [PATCH] plugged share_list() FBV ability for user to share list w. self as recipient --- src/apps/dashboard/tests/integrated/test_views.py | 9 +++++++++ src/apps/dashboard/views.py | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/apps/dashboard/tests/integrated/test_views.py b/src/apps/dashboard/tests/integrated/test_views.py index 4ea42d5..79116e6 100644 --- a/src/apps/dashboard/tests/integrated/test_views.py +++ b/src/apps/dashboard/tests/integrated/test_views.py @@ -2,6 +2,7 @@ import lxml.html from unittest import skip from django.test import TestCase +from django.urls import reverse from django.utils import html from apps.dashboard.forms import ( @@ -210,3 +211,11 @@ class ShareListTest(TestCase): data={"recipient": "nobody@example.com"}, ) self.assertRedirects(response, f"/apps/dashboard/{our_list.id}/") + + def test_share_list_does_not_add_owner_as_recipient(self): + owner = User.objects.create(email="owner@example.com") + our_list = List.objects.create(owner=owner) + self.client.force_login(owner) + self.client.post(reverse("share_list", args=[our_list.id]), + data={"recipient": "owner@example.com"}) + self.assertNotIn(owner, our_list.shared_with.all()) diff --git a/src/apps/dashboard/views.py b/src/apps/dashboard/views.py index 27a8e1c..428a717 100644 --- a/src/apps/dashboard/views.py +++ b/src/apps/dashboard/views.py @@ -44,6 +44,8 @@ def share_list(request, list_id): our_list = List.objects.get(id=list_id) try: recipient = User.objects.get(email=request.POST["recipient"]) + if recipient == request.user: + return redirect(our_list) our_list.shared_with.add(recipient) except User.DoesNotExist: pass