mirror of https://github.com/jumpserver/jumpserver
parent
dbef45e23b
commit
5832246e5f
|
@ -1,5 +1,4 @@
|
||||||
# Generated by Django 3.2.17 on 2023-06-06 10:57
|
# Generated by Django 3.2.17 on 2023-06-06 10:57
|
||||||
from collections import defaultdict
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
@ -8,17 +7,20 @@ import common.db.fields
|
||||||
|
|
||||||
def migrate_users_login_acls(apps, schema_editor):
|
def migrate_users_login_acls(apps, schema_editor):
|
||||||
login_acl_model = apps.get_model('acls', 'LoginACL')
|
login_acl_model = apps.get_model('acls', 'LoginACL')
|
||||||
name_used = defaultdict(int)
|
|
||||||
|
|
||||||
for login_acl in login_acl_model.objects.all():
|
name_used = []
|
||||||
name = login_acl.name
|
login_acls = []
|
||||||
if name_used[name] > 0:
|
for login_acl in login_acl_model.objects.all().select_related('user'):
|
||||||
login_acl.name += "_{}".format(name_used[name])
|
name = '{}_{}'.format(login_acl.name, login_acl.user.username)
|
||||||
name_used[name] += 1
|
if name.lower() in name_used:
|
||||||
|
name += '_{}'.format(str(login_acl.user_id)[:4])
|
||||||
|
name_used.append(name.lower())
|
||||||
|
login_acl.name = name
|
||||||
login_acl.users = {
|
login_acl.users = {
|
||||||
"type": "ids", "ids": [str(login_acl.user_id)]
|
"type": "ids", "ids": [str(login_acl.user_id)]
|
||||||
}
|
}
|
||||||
login_acl.save()
|
login_acls.append(login_acl)
|
||||||
|
login_acl_model.objects.bulk_update(login_acls, ['name', 'users'])
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
Loading…
Reference in New Issue