Move notifications to signals

This commit is contained in:
Mouse Reeve
2021-09-22 09:17:14 -07:00
parent 2419942770
commit a4ac25bfae
6 changed files with 129 additions and 120 deletions

View File

@ -1,5 +1,4 @@
""" like/fav/star a status """
from django.apps import apps
from django.db import models
from bookwyrm import activitypub
@ -31,34 +30,6 @@ class Favorite(ActivityMixin, BookWyrmModel):
self.user.update_active_date()
super().save(*args, **kwargs)
if self.status.user.local and self.status.user != self.user:
notification_model = apps.get_model(
"bookwyrm.Notification", require_ready=True
)
notification_model.objects.create(
user=self.status.user,
notification_type="FAVORITE",
related_user=self.user,
related_status=self.status,
)
def delete(self, *args, **kwargs):
"""delete and delete notifications"""
# check for notification
if self.status.user.local:
notification_model = apps.get_model(
"bookwyrm.Notification", require_ready=True
)
notification = notification_model.objects.filter(
user=self.status.user,
related_user=self.user,
related_status=self.status,
notification_type="FAVORITE",
).first()
if notification:
notification.delete()
super().delete(*args, **kwargs)
class Meta:
"""can't fav things twice"""