mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-21 18:25:58 +02:00
Added senior official model (still need to add migrations and foreign key in Portfolios)
This commit is contained in:
parent
fa502151a2
commit
a7273c8d49
1 changed files with 55 additions and 0 deletions
55
src/registrar/models/senior_official.py
Normal file
55
src/registrar/models/senior_official.py
Normal 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 ""
|
Loading…
Add table
Add a link
Reference in a new issue