Backend Draft

This commit is contained in:
__init__
2026-02-23 20:31:53 +05:30
commit eec700af51
127 changed files with 2356 additions and 0 deletions

View 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