import uuid from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class CustomUser(AbstractUser): """ Custom user model that extends the default Django user model. """ id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) organizacion = models.ForeignKey('organization.Organizacion', on_delete=models.CASCADE, null=True, blank=True, related_name='users') profile_picture = models.ImageField(upload_to='profile_pictures/', null=True, blank=True) # Contexto de trabajo activo para superusuarios. Filtra datos igual que un usuario normal. # Sin este campo activo, el superuser no puede consultar datos — debe hacer switch primero. active_organization = models.ForeignKey( 'organization.Organizacion', on_delete=models.SET_NULL, null=True, blank=True, related_name='superusers_activos', help_text="Solo superusuarios: organización activa para contexto de trabajo", ) is_importador = models.BooleanField(default=False, help_text="Indicates if the user is an importer") rfc = models.ManyToManyField('customs.Importador', blank=True, related_name='users', help_text="RFCs de importadores asociados al usuario") def __str__(self): return self.username class Meta: verbose_name = 'Custom User' verbose_name_plural = 'Custom Users' ordering = ['username']