Streamline saves on user create
This commit is contained in:
parent
62befa9295
commit
ee7bdc956a
|
@ -243,7 +243,6 @@ class User(OrderedCollectionPageMixin, AbstractUser):
|
||||||
# generate a username that uses the domain (webfinger format)
|
# generate a username that uses the domain (webfinger format)
|
||||||
actor_parts = urlparse(self.remote_id)
|
actor_parts = urlparse(self.remote_id)
|
||||||
self.username = "%s@%s" % (self.username, actor_parts.netloc)
|
self.username = "%s@%s" % (self.username, actor_parts.netloc)
|
||||||
super().save(*args, **kwargs)
|
|
||||||
|
|
||||||
# this user already exists, no need to populate fields
|
# this user already exists, no need to populate fields
|
||||||
if not created:
|
if not created:
|
||||||
|
@ -276,7 +275,7 @@ class User(OrderedCollectionPageMixin, AbstractUser):
|
||||||
self.key_pair = KeyPair.objects.create(
|
self.key_pair = KeyPair.objects.create(
|
||||||
remote_id="%s/#main-key" % self.remote_id
|
remote_id="%s/#main-key" % self.remote_id
|
||||||
)
|
)
|
||||||
self.save(broadcast=False)
|
self.save(broadcast=False, update_fields=["key_pair"])
|
||||||
|
|
||||||
shelves = [
|
shelves = [
|
||||||
{
|
{
|
||||||
|
|
|
@ -178,12 +178,15 @@ def update_rank_on_shelving(sender, instance, *args, **kwargs):
|
||||||
|
|
||||||
@receiver(signals.post_save, sender=models.User)
|
@receiver(signals.post_save, sender=models.User)
|
||||||
# pylint: disable=unused-argument, too-many-arguments
|
# pylint: disable=unused-argument, too-many-arguments
|
||||||
def add_new_user(sender, instance, created, **kwargs):
|
def add_new_user(sender, instance, created, update_fields=None, **kwargs):
|
||||||
"""a new user, wow how cool"""
|
"""a new user, wow how cool"""
|
||||||
# a new user is found, create suggestions for them
|
# a new user is found, create suggestions for them
|
||||||
if created and instance.local:
|
if created and instance.local:
|
||||||
rerank_suggestions_task.delay(instance.id)
|
rerank_suggestions_task.delay(instance.id)
|
||||||
|
|
||||||
|
if update_fields and not "discoverable" in update_fields:
|
||||||
|
return
|
||||||
|
|
||||||
# this happens on every save, not just when discoverability changes, annoyingly
|
# this happens on every save, not just when discoverability changes, annoyingly
|
||||||
if instance.discoverable:
|
if instance.discoverable:
|
||||||
rerank_user_task.delay(instance.id, update_only=False)
|
rerank_user_task.delay(instance.id, update_only=False)
|
||||||
|
|
|
@ -11,6 +11,7 @@ class Activitystreams(TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
"""use a test csv"""
|
"""use a test csv"""
|
||||||
|
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"):
|
||||||
self.local_user = models.User.objects.create_user(
|
self.local_user = models.User.objects.create_user(
|
||||||
"mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse"
|
"mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue