From 3486194d90a3776274d911e16c5dcca8e60f98fa Mon Sep 17 00:00:00 2001 From: Marnanel Thurman Date: Fri, 23 Oct 2020 22:17:04 +0100 Subject: [PATCH] right, this should work --- kepi/trilby_api/models/follow.py | 18 ++++++++++++++++++ kepi/trilby_api/views.py | 3 --- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/kepi/trilby_api/models/follow.py b/kepi/trilby_api/models/follow.py index 6270547..d4addbd 100644 --- a/kepi/trilby_api/models/follow.py +++ b/kepi/trilby_api/models/follow.py @@ -12,6 +12,7 @@ from django.db.models.constraints import UniqueConstraint from django.contrib.auth.models import AbstractUser from django.conf import settings import kepi.bowler_pub.crypto as crypto +import kepi.trilby_api.signals as trilby_signals from kepi.bowler_pub.utils import uri_to_url from django.utils.timezone import now from django.core.exceptions import ValidationError @@ -71,3 +72,20 @@ class Follow(models.Model): self.follower, self.following, ) + + def save(self, *args, **kwargs): + + newly_made = self.pk is None + + super().save(*args, **kwargs) + + if newly_made: + logger.debug("%s: sending 'followed'", self) + trilby_signals.followed.send(sender=self) + + def delete(self, *args, **kwargs): + + logger.debug("%s: sending 'unfollowed'", self) + kepi_signals.unfollowed.send(sender=self) + + super().delete(*args, **kwargs) diff --git a/kepi/trilby_api/views.py b/kepi/trilby_api/views.py index b431006..ced0e86 100644 --- a/kepi/trilby_api/views.py +++ b/kepi/trilby_api/views.py @@ -269,7 +269,6 @@ class Follow(DoSomethingWithPerson): logger.info(' -- follow: %s', follow) logger.debug(' -- offer ID: %s', offer) - kepi_signals.followed.send(sender=follow) if the_person.auto_follow: follow_back = trilby_models.Follow( @@ -282,7 +281,6 @@ class Follow(DoSomethingWithPerson): follow_back.save() logger.info(' -- follow back: %s', follow_back) - kepi_signals.followed.send(sender=follow_back) return the_person @@ -300,7 +298,6 @@ class Unfollow(DoSomethingWithPerson): ) logger.info(' -- unfollowing: %s', follow) - kepi_signals.unfollowed.send(sender=follow) with transaction.atomic(): follow.delete()