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) @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, )