Fix setup of the kfet generic user when…
…a specific migration is targeted.
This commit is contained in:
parent
d26da74520
commit
6e28f1260a
2 changed files with 20 additions and 3 deletions
|
@ -10,5 +10,22 @@ class KFetAuthConfig(AppConfig):
|
|||
|
||||
def ready(self):
|
||||
from . import signals # noqa
|
||||
from .utils import setup_kfet_generic_user
|
||||
post_migrate.connect(setup_kfet_generic_user, sender=self)
|
||||
post_migrate.connect(finish_setup_kfet_generic_user, sender=self)
|
||||
|
||||
|
||||
def finish_setup_kfet_generic_user(sender, apps, **kwargs):
|
||||
from kfet.models import Account
|
||||
from .utils import setup_kfet_generic_user
|
||||
# Even if no kfetauth migration has been applied, the post_migrate signal
|
||||
# is issued for KFetAuthConfig.
|
||||
# Before finishing setup of the kfet generic user, check dependencies are
|
||||
# ready: kfet.Account model and gestion.Profile (old schema may not use
|
||||
# this model).
|
||||
try:
|
||||
apps.get_model('kfet', 'Account')
|
||||
apps.get_model('gestion', 'Profile')
|
||||
Account.objects.get_generic()
|
||||
except (LookupError, Account.DoesNotExist):
|
||||
return
|
||||
|
||||
setup_kfet_generic_user()
|
||||
|
|
|
@ -15,7 +15,7 @@ def get_kfet_generic_user():
|
|||
return Account.objects.get_generic().user
|
||||
|
||||
|
||||
def setup_kfet_generic_user(**kwargs):
|
||||
def setup_kfet_generic_user():
|
||||
"""
|
||||
First steps of setup of the kfet generic user are done in a migration, as
|
||||
it is more robust against database schema changes.
|
||||
|
|
Loading…
Reference in a new issue