13 lines
471 B
Python
13 lines
471 B
Python
from django.contrib.auth.models import User
|
|
from django.db.models.signals import post_save
|
|
from django.dispatch import receiver
|
|
|
|
from .models import UserProfile
|
|
|
|
|
|
@receiver(post_save, sender=User)
|
|
def ensure_user_profile(sender, instance: User, created: bool, raw=False, **kwargs) -> None:
|
|
if created and not raw:
|
|
role = UserProfile.Role.ADMIN if instance.is_superuser else UserProfile.Role.VIEWER
|
|
UserProfile.objects.create(user=instance, role=role)
|