Users have now automatically an attached profile to a user (fix an old bug)

This commit is contained in:
Yohann D'ANELLO 2020-02-27 15:36:12 +01:00
parent d316c3130c
commit 3c52c1d002
2 changed files with 26 additions and 0 deletions

View File

@ -2,9 +2,22 @@
# SPDX-License-Identifier: GPL-3.0-or-later
from django.apps import AppConfig
from django.conf import settings
from django.db.models.signals import pre_save
from django.utils.translation import gettext_lazy as _
from .signals import save_user_note
class MemberConfig(AppConfig):
name = 'member'
verbose_name = _('member')
def ready(self):
"""
Define app internal signals to interact with other apps
"""
pre_save.connect(
save_user_note,
sender=settings.AUTH_USER_MODEL,
)

View File

@ -1,2 +1,15 @@
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
def save_user_note(instance, created, raw, **_kwargs):
"""
Hook to create and save a profile when an user is updated if it is not registered with the signup form
"""
if raw:
# When provisionning data, do not try to autocreate
return
if created:
from .models import Profile
Profile.objects.get_or_create(user=instance)
instance.profile.save()