Backend Draft
This commit is contained in:
22
backend/accounts/models.py
Normal file
22
backend/accounts/models.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from django.contrib.auth.models import AbstractUser, UserManager
|
||||
from django.db import models
|
||||
from tenants.models import Tenant
|
||||
from tenants.managers import TenantScopedManager
|
||||
|
||||
class User(AbstractUser):
|
||||
ROLE_CHOICES = [
|
||||
('super_admin', 'Super Admin'),
|
||||
('institution_admin', 'Institution Admin'),
|
||||
('teacher', 'Teacher'),
|
||||
('student', 'Student'),
|
||||
('project_manager', 'Project Manager'),
|
||||
]
|
||||
|
||||
tenant = models.ForeignKey(Tenant, on_delete=models.CASCADE, related_name='users', null=True, blank=True)
|
||||
role = models.CharField(max_length=20, choices=ROLE_CHOICES, default='student')
|
||||
|
||||
objects = UserManager() # Default manager for auth operations
|
||||
tenant_objects = TenantScopedManager() # Custom manager for tenant filtering
|
||||
|
||||
def __str__(self):
|
||||
return self.username
|
||||
Reference in New Issue
Block a user