diff --git a/sapl/legacy/migracao_usuarios.py b/sapl/legacy/migracao_usuarios.py index 666bf57ef..106a2def6 100644 --- a/sapl/legacy/migracao_usuarios.py +++ b/sapl/legacy/migracao_usuarios.py @@ -1,13 +1,13 @@ import yaml - from django.contrib.auth.models import Group, User + from sapl.hashers import zope_encoded_password_to_django from sapl.settings import MEDIA_ROOT PERFIL_LEGADO_PARA_NOVO = {legado: Group.objects.get(name=novo) for legado, novo in [ ('Autor', 'Autor'), - ('Operador', 'Operador Geral'), + ('Operador', 'Operador Geral'), ('Operador Comissao', 'Operador de Comissões'), ('Operador Materia', 'Operador de Matéria'), ('Operador Modulo Administrativo', 'Operador Administrativo'), @@ -82,16 +82,36 @@ def migrar_usuarios(): set(dados['roles']) - IGNORADOS) for nome, dados in usuarios.items()] + admins = [] for nome, senha, perfis in usuarios: usuario = User.objects.get_or_create(username=nome)[0] usuario.password = zope_encoded_password_to_django(senha) for perfil in perfis: if perfil in ADMINISTRADORES: - # Manager - usuario.is_superuser = True + # todos os administradores ganham perfil "Operador Geral" + usuario.groups.add(PERFIL_LEGADO_PARA_NOVO['Operador']) + admins.append(usuario) else: usuario.groups.add(PERFIL_LEGADO_PARA_NOVO[perfil]) usuario.save() - # apaga arquivo (importante pois contém senhas) - ARQUIVO_USUARIOS.remove() + + # restringe e configura administradores + if len(admins) > 2: + admins = ( + # ususários com admin no nome + [u for u in admins if 'admin' in u.username] + # senão, o usuário saploper, apenas + or [u for u in admins if 'saploper' == u.username] + # senão, simplesmente até os dois primeiros da lista + or admins[:2] + ) + for admin in admins: + admin.is_superuser = True + admin.save() + print('Usuários migrados com sucesso.') + print('#' * 100) + print('Uusários administradores:') + for admin in admins: + print(admin.username) + print('#' * 100) diff --git a/sapl/legacy/scripts/migra_um_db.sh b/sapl/legacy/scripts/migra_um_db.sh index eca35f0a3..577a2c000 100755 --- a/sapl/legacy/scripts/migra_um_db.sh +++ b/sapl/legacy/scripts/migra_um_db.sh @@ -37,9 +37,9 @@ if [ $# -ge 2 ]; then DATABASE_NAME=$1 ./manage.py migrate --settings sapl.legacy_migration_settings echo >> $LOG - echo "--- MIGRACAO DE DADOS ---" | tee -a $LOG + echo "--- MIGRACAO ---" | tee -a $LOG echo >> $LOG - DATABASE_NAME=$1 ./manage.py migracao_25_31 --force --dados --settings sapl.legacy_migration_settings 2>&1 | tee -a $LOG + DATABASE_NAME=$1 ./manage.py migracao_25_31 --force --settings sapl.legacy_migration_settings 2>&1 | tee -a $LOG echo >> $LOG else echo "USO:"