misc: remove use of settings.AUTH_USER_MODEL (#40685)
To rewrite authentic migrations we need to cut ties with django.contrib.auth, it's simpler if AUTH_USER_MODEL is not used inside authentic by only by django.contrib.auth code dependant upon the effective User model. Authentic's code should directly reference custom_user.User.
This commit is contained in:
parent
110d5073b9
commit
586171b000
|
@ -9,7 +9,7 @@ class Migration(migrations.Migration):
|
|||
dependencies = [
|
||||
('authentic2', '0004_service'),
|
||||
('django_rbac', '__first__'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('contenttypes', '0001_initial'),
|
||||
]
|
||||
|
||||
|
@ -118,7 +118,7 @@ class Migration(migrations.Migration):
|
|||
),
|
||||
(
|
||||
'members',
|
||||
models.ManyToManyField(related_name='roles', to=settings.AUTH_USER_MODEL, blank=True),
|
||||
models.ManyToManyField(related_name='roles', to='custom_user.User', blank=True),
|
||||
),
|
||||
(
|
||||
'ou',
|
||||
|
|
|
@ -19,7 +19,6 @@ import os
|
|||
from collections import namedtuple
|
||||
|
||||
from django.apps import apps
|
||||
from django.conf import settings
|
||||
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.postgres.fields import ArrayField
|
||||
|
@ -362,9 +361,7 @@ class Role(AbstractBase):
|
|||
null=True,
|
||||
on_delete=models.CASCADE,
|
||||
)
|
||||
members = models.ManyToManyField(
|
||||
to=settings.AUTH_USER_MODEL, swappable=True, blank=True, related_name='roles'
|
||||
)
|
||||
members = models.ManyToManyField(to='custom_user.User', swappable=True, blank=True, related_name='roles')
|
||||
permissions = models.ManyToManyField(to=Permission, related_name='roles', blank=True)
|
||||
name = models.TextField(verbose_name=_('name'))
|
||||
details = models.TextField(_('Role details (frontoffice)'), blank=True)
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
import django
|
||||
import django.contrib.postgres.fields
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
from django.db.models import JSONField
|
||||
from django.utils import timezone
|
||||
|
@ -13,7 +12,7 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('authentic2', '0027_remove_deleteduser'),
|
||||
('sessions', '0001_initial'),
|
||||
]
|
||||
|
@ -92,7 +91,7 @@ class Migration(migrations.Migration):
|
|||
db_constraint=False,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.DO_NOTHING,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
verbose_name='user',
|
||||
),
|
||||
),
|
||||
|
|
|
@ -15,10 +15,11 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from authentic2 import app_settings
|
||||
from authentic2.custom_user.models import User
|
||||
|
||||
|
||||
def get_user_queryset():
|
||||
from authentic2.custom_user.models import User
|
||||
|
||||
qs = User.objects.all()
|
||||
|
||||
qs = qs.filter()
|
||||
|
|
|
@ -40,10 +40,6 @@ PROXY_USER_MODEL = None
|
|||
|
||||
|
||||
class ModelBackend(BaseModelBackend):
|
||||
"""
|
||||
Authenticates against settings.AUTH_USER_MODEL.
|
||||
"""
|
||||
|
||||
def get_query(self, username, realm=None, ou=None):
|
||||
username_field = 'username'
|
||||
queries = []
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
|
@ -46,7 +45,7 @@ class Migration(migrations.Migration):
|
|||
app_label='admin',
|
||||
model_name='logentry',
|
||||
name='user',
|
||||
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE),
|
||||
field=models.ForeignKey(to='custom_user.User', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
||||
|
|
|
@ -4,7 +4,6 @@ import uuid
|
|||
|
||||
import django
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
from django.db.models import JSONField
|
||||
|
||||
|
@ -64,7 +63,7 @@ class Migration(migrations.Migration):
|
|||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name='profiles',
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
verbose_name='user',
|
||||
),
|
||||
),
|
||||
|
|
|
@ -44,7 +44,6 @@ from django.utils.translation import gettext_lazy as _
|
|||
from gadjo.templatetags.gadjo import xstatic
|
||||
|
||||
from authentic2 import app_settings
|
||||
from authentic2.custom_user.models import User
|
||||
from authentic2.models import Attribute
|
||||
from authentic2.passwords import get_password_checker
|
||||
|
||||
|
@ -377,6 +376,8 @@ class SelectAttributeWidget(forms.Select):
|
|||
|
||||
@staticmethod
|
||||
def get_options():
|
||||
from authentic2.custom_user.models import User
|
||||
|
||||
choices = {}
|
||||
for name in ('email', 'username', 'first_name', 'last_name'):
|
||||
field = User._meta.get_field(name)
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('authentic2', '0002_auto_20150320_1418'),
|
||||
]
|
||||
|
||||
|
@ -12,25 +11,19 @@ class Migration(migrations.Migration):
|
|||
migrations.AlterField(
|
||||
model_name='deleteduser',
|
||||
name='user',
|
||||
field=models.ForeignKey(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE
|
||||
),
|
||||
field=models.ForeignKey(verbose_name='user', to='custom_user.User', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='passwordreset',
|
||||
name='user',
|
||||
field=models.ForeignKey(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE
|
||||
),
|
||||
field=models.ForeignKey(verbose_name='user', to='custom_user.User', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='userexternalid',
|
||||
name='user',
|
||||
field=models.ForeignKey(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE
|
||||
),
|
||||
field=models.ForeignKey(verbose_name='user', to='custom_user.User', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
|
@ -12,7 +11,7 @@ class Migration(migrations.Migration):
|
|||
model_name='passwordreset',
|
||||
name='user',
|
||||
field=models.ForeignKey(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, unique=True, on_delete=models.CASCADE
|
||||
verbose_name='user', to='custom_user.User', unique=True, on_delete=models.CASCADE
|
||||
),
|
||||
preserve_default=True,
|
||||
),
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
|
@ -11,8 +10,6 @@ class Migration(migrations.Migration):
|
|||
migrations.AlterField(
|
||||
model_name='passwordreset',
|
||||
name='user',
|
||||
field=models.OneToOneField(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE
|
||||
),
|
||||
field=models.OneToOneField(verbose_name='user', to='custom_user.User', on_delete=models.CASCADE),
|
||||
),
|
||||
]
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# Generated by Django 1.11.20 on 2019-10-09 08:47
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
|
@ -17,7 +16,7 @@ class Migration(migrations.Migration):
|
|||
field=models.OneToOneField(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name='deletion',
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
verbose_name='user',
|
||||
),
|
||||
),
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
# Generated by Django 2.2.26 on 2023-01-17 14:13
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('authentic2', '0047_initialize_services_runtime_settings'),
|
||||
]
|
||||
|
||||
|
@ -23,7 +22,7 @@ class Migration(migrations.Migration):
|
|||
field=models.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
verbose_name='user',
|
||||
),
|
||||
),
|
||||
|
|
|
@ -53,7 +53,7 @@ from .utils.sms import create_sms_code
|
|||
|
||||
|
||||
class UserExternalId(models.Model):
|
||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
user = models.ForeignKey('custom_user.User', verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
source = models.CharField(max_length=256, verbose_name=_('source'))
|
||||
external_id = models.CharField(max_length=256, verbose_name=_('external id'), null=True)
|
||||
external_guid = models.UUIDField(verbose_name=_('External GUID'), null=True)
|
||||
|
@ -435,7 +435,7 @@ class AttributeValue(models.Model):
|
|||
|
||||
|
||||
class PasswordReset(models.Model):
|
||||
user = models.OneToOneField(settings.AUTH_USER_MODEL, verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
user = models.OneToOneField('custom_user.User', verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.user_id and not self.user.has_usable_password():
|
||||
|
@ -836,9 +836,7 @@ class SMSCode(models.Model):
|
|||
phone = models.CharField(
|
||||
_('phone number'), null=True, blank=True, max_length=64, validators=[PhoneNumberValidator]
|
||||
)
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL, verbose_name=_('user'), on_delete=models.CASCADE, null=True
|
||||
)
|
||||
user = models.ForeignKey('custom_user.User', verbose_name=_('user'), on_delete=models.CASCADE, null=True)
|
||||
url_token = models.UUIDField(
|
||||
verbose_name=_('URL token'),
|
||||
default=uuid.uuid4,
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('saml', '0003_merge'),
|
||||
]
|
||||
|
||||
|
@ -16,7 +15,7 @@ class Migration(migrations.Migration):
|
|||
field=models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
blank=True,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
null=True,
|
||||
),
|
||||
preserve_default=True,
|
||||
|
|
|
@ -554,7 +554,7 @@ class LibertyFederation(models.Model):
|
|||
"""Store a federation, i.e. an identifier shared with another provider, be
|
||||
it IdP or SP"""
|
||||
|
||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=models.SET_NULL)
|
||||
user = models.ForeignKey('custom_user.User', null=True, blank=True, on_delete=models.SET_NULL)
|
||||
sp = models.ForeignKey('LibertyServiceProvider', null=True, blank=True, on_delete=models.CASCADE)
|
||||
name_id_format = models.CharField(max_length=100, verbose_name='NameIDFormat', blank=True, null=True)
|
||||
name_id_content = models.CharField(max_length=100, verbose_name='NameID')
|
||||
|
|
|
@ -47,7 +47,6 @@ from django.utils.formats import localize
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from django.utils.translation import ngettext
|
||||
|
||||
from authentic2.custom_user.models import User
|
||||
from authentic2.saml.saml2utils import filter_attribute_private_key, filter_element_private_key
|
||||
from authentic2.validators import EmailValidator
|
||||
|
||||
|
@ -808,6 +807,8 @@ def send_registration_mail(request, email, ou, template_names=None, next_url=Non
|
|||
|
||||
Can raise an smtplib.SMTPException
|
||||
"""
|
||||
from authentic2.custom_user.models import User
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
if not template_names:
|
||||
|
@ -1196,6 +1197,8 @@ def get_manager_login_url():
|
|||
|
||||
def send_email_change_email(user, email, request=None, context=None, template_names=None):
|
||||
'''Send an email to verify that user can take email as its new email'''
|
||||
from authentic2.custom_user.models import User
|
||||
|
||||
assert user
|
||||
assert email
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
@ -23,7 +22,7 @@ class Migration(migrations.Migration):
|
|||
models.ForeignKey(
|
||||
related_name='fc_accounts',
|
||||
verbose_name='user',
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
on_delete=models.CASCADE,
|
||||
),
|
||||
),
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
import json
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.postgres.fields import ArrayField
|
||||
from django.db import models
|
||||
from django.utils.functional import cached_property
|
||||
|
@ -143,7 +142,7 @@ class FcAccount(models.Model):
|
|||
created = models.DateTimeField(verbose_name=_('created'), auto_now_add=True)
|
||||
modified = models.DateTimeField(verbose_name=_('modified'), auto_now=True)
|
||||
user = models.ForeignKey(
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
verbose_name=_('user'),
|
||||
related_name='fc_accounts',
|
||||
on_delete=models.CASCADE,
|
||||
|
|
|
@ -7,7 +7,7 @@ import authentic2_auth_oidc.models
|
|||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
migrations.swappable_dependency(settings.RBAC_OU_MODEL),
|
||||
]
|
||||
|
||||
|
@ -155,7 +155,7 @@ class Migration(migrations.Migration):
|
|||
field=models.OneToOneField(
|
||||
related_name='oidc_account',
|
||||
verbose_name='user',
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
on_delete=models.CASCADE,
|
||||
),
|
||||
),
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
# Generated by Django 2.2.17 on 2020-11-02 10:42
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('authentic2_auth_oidc', '0007_auto_20200317_1732'),
|
||||
]
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@ import logging
|
|||
from datetime import datetime, timedelta
|
||||
|
||||
import requests
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.db import models, transaction
|
||||
from django.db.models import JSONField
|
||||
|
@ -482,7 +481,7 @@ class OIDCAccount(models.Model):
|
|||
to='OIDCProvider', verbose_name=_('provider'), related_name='accounts', on_delete=models.CASCADE
|
||||
)
|
||||
user = models.OneToOneField(
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
verbose_name=_('user'),
|
||||
related_name='oidc_account',
|
||||
on_delete=models.CASCADE,
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('authentic2_idp_cas', '0001_initial'),
|
||||
]
|
||||
|
||||
|
@ -14,7 +13,7 @@ class Migration(migrations.Migration):
|
|||
name='user',
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
to='custom_user.User',
|
||||
max_length=128,
|
||||
null=True,
|
||||
verbose_name='user',
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
import authentic2_idp_oidc.models
|
||||
|
@ -6,7 +5,7 @@ import authentic2_idp_oidc.models
|
|||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
('authentic2', '0016_attribute_disabled'),
|
||||
]
|
||||
|
||||
|
@ -143,9 +142,7 @@ class Migration(migrations.Migration):
|
|||
),
|
||||
(
|
||||
'user',
|
||||
models.ForeignKey(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE
|
||||
),
|
||||
models.ForeignKey(verbose_name='user', to='custom_user.User', on_delete=models.CASCADE),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -159,9 +156,7 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='oidcauthorization',
|
||||
name='user',
|
||||
field=models.ForeignKey(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE
|
||||
),
|
||||
field=models.ForeignKey(verbose_name='user', to='custom_user.User', on_delete=models.CASCADE),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='oidcaccesstoken',
|
||||
|
@ -173,8 +168,6 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='oidcaccesstoken',
|
||||
name='user',
|
||||
field=models.ForeignKey(
|
||||
verbose_name='user', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE
|
||||
),
|
||||
field=models.ForeignKey(verbose_name='user', to='custom_user.User', on_delete=models.CASCADE),
|
||||
),
|
||||
]
|
||||
|
|
|
@ -290,7 +290,7 @@ class OIDCAuthorization(models.Model):
|
|||
)
|
||||
client_id = models.PositiveIntegerField(verbose_name=_('client id'))
|
||||
client = GenericForeignKey('client_ct', 'client_id')
|
||||
user = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(to='custom_user.User', verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
scopes = models.TextField(blank=False, verbose_name=_('scopes'))
|
||||
profile = models.ForeignKey(to=Profile, verbose_name=_('profile'), on_delete=models.CASCADE, null=True)
|
||||
|
||||
|
@ -356,7 +356,7 @@ class OIDCCode(SessionMixin, models.Model):
|
|||
|
||||
uuid = models.CharField(max_length=128, verbose_name=_('uuid'), default=generate_uuid)
|
||||
client = models.ForeignKey(to=OIDCClient, verbose_name=_('client'), on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(to='custom_user.User', verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
profile = models.ForeignKey(
|
||||
to=Profile, verbose_name=_('user selected profile'), null=True, on_delete=models.CASCADE
|
||||
)
|
||||
|
@ -405,7 +405,7 @@ class OIDCCode(SessionMixin, models.Model):
|
|||
class OIDCAccessToken(SessionMixin, models.Model):
|
||||
uuid = models.CharField(max_length=128, verbose_name=_('uuid'), default=generate_uuid, db_index=True)
|
||||
client = models.ForeignKey(to=OIDCClient, verbose_name=_('client'), on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(to='custom_user.User', verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
scopes = models.TextField(verbose_name=_('scopes'))
|
||||
session_key = models.CharField(verbose_name=_('session key'), max_length=128, blank=True)
|
||||
profile = models.ForeignKey(to=Profile, verbose_name=_('profile'), on_delete=models.CASCADE, null=True)
|
||||
|
|
|
@ -6,7 +6,7 @@ import authentic2.a2_rbac
|
|||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('custom_user', '__first__'),
|
||||
migrations.swappable_dependency(settings.RBAC_OU_MODEL),
|
||||
migrations.swappable_dependency(settings.RBAC_PERMISSION_MODEL),
|
||||
migrations.swappable_dependency(settings.RBAC_ROLE_MODEL),
|
||||
|
@ -102,7 +102,7 @@ class Migration(migrations.Migration):
|
|||
('description', models.TextField(verbose_name='description', blank=True)),
|
||||
(
|
||||
'members',
|
||||
models.ManyToManyField(related_name='roles', to=settings.AUTH_USER_MODEL, blank=True),
|
||||
models.ManyToManyField(related_name='roles', to='custom_user.User', blank=True),
|
||||
),
|
||||
(
|
||||
'ou',
|
||||
|
|
Loading…
Reference in New Issue