fix: corrige validacion de permisos de bedelia y gestion de inscripciones
This commit is contained in:
+33
-4
@@ -107,7 +107,9 @@ def init_database():
|
||||
'import': 'read_write',
|
||||
'optimizer': 'read_write',
|
||||
'users': 'read_write',
|
||||
'milestone_types': 'read_write'
|
||||
'milestone_types': 'read_write',
|
||||
'metrics': 'read_write',
|
||||
'enrollment': 'read_write'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -123,7 +125,9 @@ def init_database():
|
||||
'import': 'none',
|
||||
'optimizer': 'read',
|
||||
'users': 'none',
|
||||
'milestone_types': 'read'
|
||||
'milestone_types': 'read',
|
||||
'metrics': 'none',
|
||||
'enrollment': 'read'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -139,7 +143,9 @@ def init_database():
|
||||
'import': 'read_write',
|
||||
'optimizer': 'none',
|
||||
'users': 'none',
|
||||
'milestone_types': 'read_write'
|
||||
'milestone_types': 'read_write',
|
||||
'metrics': 'read_write',
|
||||
'enrollment': 'read_write'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -155,7 +161,9 @@ def init_database():
|
||||
'import': 'none',
|
||||
'optimizer': 'none',
|
||||
'users': 'none',
|
||||
'milestone_types': 'read'
|
||||
'milestone_types': 'read',
|
||||
'metrics': 'none',
|
||||
'enrollment': 'read'
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -188,6 +196,27 @@ def init_database():
|
||||
|
||||
db.session.commit()
|
||||
print("[OK] Roles y matriz de permisos configurados correctamente.")
|
||||
|
||||
# 3b. Deduplicar rol Bedelia con acento (Bedelía) si existe
|
||||
print("[*] Verificando duplicados del rol Bedelia...")
|
||||
bedelia_accented = Role.query.filter(
|
||||
Role.name.in_(['Bedelía', 'Bedel\u00eda', 'BEDELÍA'])
|
||||
).first()
|
||||
bedelia_canonical = Role.query.filter_by(name='Bedelia').first()
|
||||
if bedelia_accented and bedelia_canonical and bedelia_accented.id != bedelia_canonical.id:
|
||||
# Migrate all users from accented role to canonical
|
||||
from app.models.user import User
|
||||
affected = User.query.filter_by(role_id=bedelia_accented.id).all()
|
||||
for u in affected:
|
||||
u.role_id = bedelia_canonical.id
|
||||
u.role = 'BEDELIA'
|
||||
print(f" [~] Usuario {u.email} migrado de '{bedelia_accented.name}' a 'Bedelia'")
|
||||
db.session.flush()
|
||||
db.session.delete(bedelia_accented)
|
||||
db.session.commit()
|
||||
print(f" [OK] Rol duplicado '{bedelia_accented.name}' eliminado. {len(affected)} usuario(s) migrado(s).")
|
||||
else:
|
||||
print(" [OK] Sin duplicados de Bedelia.")
|
||||
|
||||
# 4. Verificar o crear usuarios institucionales de cada rol
|
||||
print("[*] Verificando usuarios institucionales y credenciales...")
|
||||
|
||||
Reference in New Issue
Block a user