Added instructor model, admin and basic actions
This commit is contained in:
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user