mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-11-23 10:01:04 +00:00
Notifications for follow requests
This commit is contained in:
parent
ac57db5375
commit
d9e65aa363
2 changed files with 13 additions and 8 deletions
|
@ -136,14 +136,7 @@ def handle_follow(activity):
|
||||||
)
|
)
|
||||||
# send the accept normally for a duplicate request
|
# send the accept normally for a duplicate request
|
||||||
|
|
||||||
manually_approves = relationship.user_object.manually_approves_followers
|
if not relationship.user_object.manually_approves_followers:
|
||||||
|
|
||||||
status_builder.create_notification(
|
|
||||||
relationship.user_object,
|
|
||||||
'FOLLOW_REQUEST' if manually_approves else 'FOLLOW',
|
|
||||||
related_user=relationship.user_subject
|
|
||||||
)
|
|
||||||
if not manually_approves:
|
|
||||||
relationship.accept()
|
relationship.accept()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
''' defines relationships between users '''
|
''' defines relationships between users '''
|
||||||
|
from django.apps import apps
|
||||||
from django.db import models, transaction
|
from django.db import models, transaction
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
|
@ -90,9 +91,20 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship):
|
||||||
return None
|
return None
|
||||||
except (UserFollows.DoesNotExist, UserBlocks.DoesNotExist):
|
except (UserFollows.DoesNotExist, UserBlocks.DoesNotExist):
|
||||||
super().save(*args, **kwargs)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
if broadcast and self.user_subject.local and not self.user_object.local:
|
if broadcast and self.user_subject.local and not self.user_object.local:
|
||||||
self.broadcast(self.to_activity(), self.user_subject)
|
self.broadcast(self.to_activity(), self.user_subject)
|
||||||
|
|
||||||
|
if self.user_object.local:
|
||||||
|
model = apps.get_model('bookwyrm.Notification', require_ready=True)
|
||||||
|
notification_type = 'FOLLOW_REQUEST' \
|
||||||
|
if self.user_object.manually_approves_followers else 'FOLLOW'
|
||||||
|
model.objects.create(
|
||||||
|
user=self.user_object,
|
||||||
|
related_user=self.user_subject,
|
||||||
|
notification_type=notification_type,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
''' turn this request into the real deal'''
|
''' turn this request into the real deal'''
|
||||||
|
|
Loading…
Reference in a new issue