mirror of
https://github.com/ansible/awx.git
synced 2026-08-06 13:00:05 -02:30
Revert previous fix for deleted name change, update how we change username when a user is marked inactive to keep it under 30 chars.
This commit is contained in:
@@ -11,7 +11,7 @@ from django.core.management.base import BaseCommand, CommandError
|
||||
from django.db import transaction
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.dateparse import parse_datetime
|
||||
from django.utils.timezone import now
|
||||
from django.utils.timezone import now, is_aware, make_aware
|
||||
|
||||
# AWX
|
||||
from awx.main.models import *
|
||||
@@ -53,13 +53,19 @@ class Command(BaseCommand):
|
||||
if not active_field:
|
||||
self.logger.warning('skipping model %s, no active field', model)
|
||||
return
|
||||
if name_field == 'username' and active_field == 'is_active':
|
||||
name_prefix = '_d_'
|
||||
else:
|
||||
name_prefix = '_deleted_'
|
||||
qs = model.objects.filter(**{
|
||||
active_field: False,
|
||||
'%s__startswith' % name_field: '_d',
|
||||
'%s__startswith' % name_field: name_prefix,
|
||||
})
|
||||
self.logger.debug('cleaning up model %s', model)
|
||||
for instance in qs:
|
||||
dt = parse_datetime(getattr(instance, name_field).split('_')[2])
|
||||
if not is_aware(dt):
|
||||
dt = make_aware(dt, self.cutoff.tzinfo)
|
||||
if not dt:
|
||||
self.logger.warning('unable to find deleted timestamp in %s '
|
||||
'field', name_field)
|
||||
|
||||
Reference in New Issue
Block a user