Use transaction decorator on group accept
This commit is contained in:
parent
08a8f37a0b
commit
73e09f8d18
|
@ -150,31 +150,30 @@ class GroupMemberInvitation(models.Model):
|
||||||
notification_type=notification_type,
|
notification_type=notification_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@transaction.atomic
|
||||||
def accept(self):
|
def accept(self):
|
||||||
"""turn this request into the real deal"""
|
"""turn this request into the real deal"""
|
||||||
|
GroupMember.from_request(self)
|
||||||
|
|
||||||
with transaction.atomic():
|
model = apps.get_model("bookwyrm.Notification", require_ready=True)
|
||||||
GroupMember.from_request(self)
|
# tell the group owner
|
||||||
|
model.objects.create(
|
||||||
|
user=self.group.user,
|
||||||
|
related_user=self.user,
|
||||||
|
related_group=self.group,
|
||||||
|
notification_type="ACCEPT",
|
||||||
|
)
|
||||||
|
|
||||||
model = apps.get_model("bookwyrm.Notification", require_ready=True)
|
# let the other members know about it
|
||||||
# tell the group owner
|
for membership in self.group.memberships.all():
|
||||||
model.objects.create(
|
member = membership.user
|
||||||
user=self.group.user,
|
if member not in (self.user, self.group.user):
|
||||||
related_user=self.user,
|
model.objects.create(
|
||||||
related_group=self.group,
|
user=member,
|
||||||
notification_type="ACCEPT",
|
related_user=self.user,
|
||||||
)
|
related_group=self.group,
|
||||||
|
notification_type="JOIN",
|
||||||
# let the other members know about it
|
)
|
||||||
for membership in self.group.memberships.all():
|
|
||||||
member = membership.user
|
|
||||||
if member not in (self.user, self.group.user):
|
|
||||||
model.objects.create(
|
|
||||||
user=member,
|
|
||||||
related_user=self.user,
|
|
||||||
related_group=self.group,
|
|
||||||
notification_type="JOIN",
|
|
||||||
)
|
|
||||||
|
|
||||||
def reject(self):
|
def reject(self):
|
||||||
"""generate a Reject for this membership request"""
|
"""generate a Reject for this membership request"""
|
||||||
|
|
Loading…
Reference in New Issue