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