added to apps.dashboard.views, share_list() FBV, a try/except catch that accounts for nonexistent users; .test.test_views ensures functionality
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
Disco DeDisco
2026-02-18 15:14:35 -05:00
parent 0370f36e9e
commit 64d4ba9542
2 changed files with 13 additions and 2 deletions

View File

@@ -201,3 +201,11 @@ class ShareListTest(TestCase):
data={"recipient": "alice@example.com"}, data={"recipient": "alice@example.com"},
) )
self.assertIn(alice, our_list.shared_with.all()) self.assertIn(alice, our_list.shared_with.all())
def test_post_with_nonexistent_email_redirects_to_list(self):
our_list = List.objects.create()
response = self.client.post(
f"/apps/dashboard/{our_list.id}/share_list",
data={"recipient": "nobody@example.com"},
)
self.assertRedirects(response, f"/apps/dashboard/{our_list.id}/")

View File

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