Added senior official model (still need to add migrations and foreign key in Portfolios)

This commit is contained in:
CocoByte 2024-06-20 14:18:37 -06:00
parent fa502151a2
commit a7273c8d49
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F

View file

@ -0,0 +1,55 @@
from django.db import models
from .utility.time_stamped_model import TimeStampedModel
from phonenumber_field.modelfields import PhoneNumberField # type: ignore
class SeniorOfficial(TimeStampedModel):
"""
Senior Official is a distinct Contact-like entity (NOT to be inherited
from Contacts) developed for the unique role these individuals have in
managing Portfolios.
"""
class Meta:
"""Contains meta information about this class"""
# Placeholder for later tickets...
# indexes = [
# models.Index(fields=["user"]),
# models.Index(fields=["email"]),
# ]
first_name = models.CharField(
null=True,
blank=True,
verbose_name="first name",
)
last_name = models.CharField(
null=True,
blank=True,
verbose_name="last name",
)
title = models.CharField(
null=True,
blank=True,
verbose_name="title / role",
)
phone = PhoneNumberField(
null=True,
blank=True,
)
def get_formatted_name(self):
"""Returns the contact's name in Western order."""
names = [n for n in [self.first_name, self.last_name] if n]
return " ".join(names) if names else "Unknown"
def __str__(self):
if self.first_name or self.last_name:
return self.get_formatted_name()
elif self.pk:
return str(self.pk)
else:
return ""