feature/rbac permisos y roles implementados
This commit is contained in:
@@ -1,8 +1,28 @@
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
|
||||
from .models import Organizacion, UsoAlmacenamiento
|
||||
|
||||
|
||||
@receiver(post_save, sender=Organizacion)
|
||||
def crear_uso_almacenamiento(sender, instance, created, **kwargs):
|
||||
if created:
|
||||
UsoAlmacenamiento.objects.create(organizacion=instance, espacio_utilizado=0)
|
||||
UsoAlmacenamiento.objects.create(organizacion=instance, espacio_utilizado=0)
|
||||
|
||||
|
||||
@receiver(post_save, sender=Organizacion)
|
||||
def crear_roles_default(sender, instance, created, **kwargs):
|
||||
"""Al crear una organización nueva, genera automáticamente los 5 roles por defecto
|
||||
con sus permisos. Depende de que el catálogo RolePermission ya exista (post-migration)."""
|
||||
if not created:
|
||||
return
|
||||
try:
|
||||
from api.rbac.roles import crear_roles_para_organizacion
|
||||
crear_roles_para_organizacion(instance)
|
||||
except Exception:
|
||||
# Si la app rbac aún no está migrada (ej. primer deploy), no bloquear la creación de org
|
||||
import logging
|
||||
logging.getLogger(__name__).warning(
|
||||
'No se pudieron crear roles para org %s — verifica que rbac esté migrado.',
|
||||
instance.id,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user