plugged share_list() FBV ability for user to share list w. self as recipient

This commit is contained in:
Disco DeDisco
2026-02-22 21:18:22 -05:00
parent 44c335b089
commit 17eb83c760
2 changed files with 11 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ import lxml.html
from unittest import skip from unittest import skip
from django.test import TestCase from django.test import TestCase
from django.urls import reverse
from django.utils import html from django.utils import html
from apps.dashboard.forms import ( from apps.dashboard.forms import (
@@ -210,3 +211,11 @@ class ShareListTest(TestCase):
data={"recipient": "nobody@example.com"}, data={"recipient": "nobody@example.com"},
) )
self.assertRedirects(response, f"/apps/dashboard/{our_list.id}/") 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())

View File

@@ -44,6 +44,8 @@ def share_list(request, list_id):
our_list = List.objects.get(id=list_id) our_list = List.objects.get(id=list_id)
try: try:
recipient = User.objects.get(email=request.POST["recipient"]) recipient = User.objects.get(email=request.POST["recipient"])
if recipient == request.user:
return redirect(our_list)
our_list.shared_with.add(recipient) our_list.shared_with.add(recipient)
except User.DoesNotExist: except User.DoesNotExist:
pass pass