From b645d753036f6640497f2358581442c5298b2f50 Mon Sep 17 00:00:00 2001 From: Hugh Rundle Date: Sat, 25 Sep 2021 17:34:44 +1000 Subject: [PATCH] add and remove users from groups --- bookwyrm/models/group.py | 9 ++- bookwyrm/templates/groups/members.html | 27 +++---- .../snippets/add_to_group_button.html | 16 ++-- bookwyrm/urls.py | 4 +- bookwyrm/views/__init__.py | 2 +- bookwyrm/views/group.py | 75 ++++++++++++++++--- 6 files changed, 100 insertions(+), 33 deletions(-) diff --git a/bookwyrm/models/group.py b/bookwyrm/models/group.py index a91c56cb..01fdbdd6 100644 --- a/bookwyrm/models/group.py +++ b/bookwyrm/models/group.py @@ -42,4 +42,11 @@ class GroupMember(models.Model): """Users who are members of a group""" group = models.ForeignKey("Group", on_delete=models.CASCADE) - user = models.ForeignKey("User", on_delete=models.CASCADE) \ No newline at end of file + user = models.ForeignKey("User", on_delete=models.CASCADE) + + class Meta: + constraints = [ + models.UniqueConstraint( + fields=["group", "user"], name="unique_member" + ) + ] \ No newline at end of file diff --git a/bookwyrm/templates/groups/members.html b/bookwyrm/templates/groups/members.html index b10cdd5f..55d7fd74 100644 --- a/bookwyrm/templates/groups/members.html +++ b/bookwyrm/templates/groups/members.html @@ -30,36 +30,37 @@ {% endblock %} \ No newline at end of file diff --git a/bookwyrm/templates/snippets/add_to_group_button.html b/bookwyrm/templates/snippets/add_to_group_button.html index 51c3179b..aea0532f 100644 --- a/bookwyrm/templates/snippets/add_to_group_button.html +++ b/bookwyrm/templates/snippets/add_to_group_button.html @@ -7,21 +7,21 @@
- - - -