change user_name still used as login and add display_name for dashboard view instead of username on login

This commit is contained in:
Alberto-Audrix committed 2026-09-10 10:51:51 +07:00
1 parent 7a562c18ec
commit 11b0ca26a5
33 files changed
+180 -145

No files matched your search

+12 -12
View File
@@ -9,22 +9,22 @@ from django.utils import timezone
class UserManager(BaseUserManager):
def create_user(self, user_login: str, password: str | None = None, **extra_fields):
if not user_login:
raise ValueError("user_login is required")
def create_user(self, user_name: str, password: str | None = None, **extra_fields):
if not user_name:
raise ValueError("user_name is required")
extra_fields.setdefault("status", User.STATUS_GM)
extra_fields.setdefault("is_superuser", False)
extra_fields.setdefault("user_name", user_login)
user = self.model(user_login=user_login, **extra_fields)
extra_fields.setdefault("display_name", user_name)
user = self.model(user_name=user_name, **extra_fields)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, user_login: str, password: str | None = None, **extra_fields):
def create_superuser(self, user_name: str, password: str | None = None, **extra_fields):
"""Break-glass: status=superuser (ops + user management). Hidden from user lists."""
extra_fields["status"] = User.STATUS_SUPERUSER
extra_fields["is_superuser"] = True
return self.create_user(user_login, password, **extra_fields)
return self.create_user(user_name, password, **extra_fields)
class User(AbstractBaseUser, PermissionsMixin):
@@ -76,8 +76,8 @@ class User(AbstractBaseUser, PermissionsMixin):
)
user_id = models.BigAutoField(primary_key=True)
user_login = models.CharField(max_length=30, unique=True)
user_name = models.CharField(max_length=30, unique=True)
display_name = models.CharField(max_length=30, unique=True)
status = models.CharField(max_length=30, choices=STATUS_CHOICES, default=STATUS_GM)
# BUH who manages this GM / GM Admin (unused for director / buh themselves).
managed_by = models.ForeignKey(
@@ -104,15 +104,15 @@ class User(AbstractBaseUser, PermissionsMixin):
objects = UserManager()
USERNAME_FIELD = "user_login"
REQUIRED_FIELDS: list[str] = ["user_name"]
USERNAME_FIELD = "user_name"
REQUIRED_FIELDS: list[str] = ["display_name"]
class Meta:
db_table = "user_access"
ordering = ["user_name"]
ordering = ["display_name"]
def __str__(self) -> str:
return self.user_name
return self.display_name
@property
def is_executive(self) -> bool: