Added instructor model, admin and basic actions

This commit is contained in:
2025-12-01 18:41:44 +01:00
parent 99a8cfe482
commit 5d1686f24b
12 changed files with 283 additions and 13 deletions

View File

@@ -1,6 +1,8 @@
from django.db import models
from django.contrib.auth.models import User, Group
from phonenumber_field import modelfields
from ..models.courses import Course
from ..models.aircrafts import Aircraft
@@ -11,12 +13,13 @@ class Student(models.Model):
email = models.EmailField(
null=False,
db_index=True
db_index=True,
unique=True
)
phone = models.CharField(
phone = modelfields.PhoneNumberField(
null=True,
max_length=16
unique=True
)
name = models.CharField(
@@ -52,7 +55,10 @@ class Student(models.Model):
)
def default_password(self) -> str: # Maximum 4 digits for passowrd
return f"{self.name.lower()[0]}{self.surname.lower()}{self.id % 10000}"
if self.pk:
return f"{self.name.lower()[0]}{self.surname.lower()}{self.id % 10000}"
else:
return ""
def default_username(self) -> str:
if self.pk and self.user:
@@ -74,8 +80,8 @@ class Student(models.Model):
counter += 1
# Create user
user: User = User.objects.create_user(
first_name=self.name,
last_name=self.surname,
first_name=self.name.capitalize(),
last_name=self.surname.capitalize(),
username=username,
email=self.email,
password=self.default_password(),