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
|
||||
from collections import defaultdict
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
@ -8,17 +7,20 @@ import common.db.fields
|
|||
|
||||
def migrate_users_login_acls(apps, schema_editor):
|
||||
login_acl_model = apps.get_model('acls', 'LoginACL')
|
||||
name_used = defaultdict(int)
|
||||
|
||||
for login_acl in login_acl_model.objects.all():
|
||||
name = login_acl.name
|
||||
if name_used[name] > 0:
|
||||
login_acl.name += "_{}".format(name_used[name])
|
||||
name_used[name] += 1
|
||||
name_used = []
|
||||
login_acls = []
|
||||
for login_acl in login_acl_model.objects.all().select_related('user'):
|
||||
name = '{}_{}'.format(login_acl.name, login_acl.user.username)
|
||||
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 = {
|
||||
"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):
|
||||
|
|
Loading…
Reference in New Issue