mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-04 00:42:16 +02:00
158 lines
4.5 KiB
Python
158 lines
4.5 KiB
Python
from django.db import models
|
|
from .utility.time_stamped_model import TimeStampedModel
|
|
|
|
|
|
class StatusChoices(models.TextChoices):
|
|
READY = "ready", "Ready"
|
|
ON_HOLD = "on hold", "On Hold"
|
|
|
|
|
|
class TransitionDomain(TimeStampedModel):
|
|
"""Transition Domain model stores information about the
|
|
state of a domain upon transition between registry
|
|
providers"""
|
|
|
|
# This is necessary to expose the enum to external
|
|
# classes that import TransitionDomain
|
|
StatusChoices = StatusChoices
|
|
|
|
username = models.TextField(
|
|
null=False,
|
|
blank=False,
|
|
verbose_name="Username",
|
|
help_text="Username - this will be an email address",
|
|
)
|
|
domain_name = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
verbose_name="Domain name",
|
|
)
|
|
status = models.CharField(
|
|
max_length=255,
|
|
null=False,
|
|
blank=True,
|
|
default=StatusChoices.READY,
|
|
choices=StatusChoices.choices,
|
|
verbose_name="Status",
|
|
help_text="domain status during the transfer",
|
|
)
|
|
email_sent = models.BooleanField(
|
|
null=False,
|
|
default=False,
|
|
verbose_name="email sent",
|
|
help_text="indicates whether email was sent",
|
|
)
|
|
organization_type = models.TextField(
|
|
max_length=255,
|
|
null=True,
|
|
blank=True,
|
|
help_text="Type of organization",
|
|
)
|
|
organization_name = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Organization name",
|
|
db_index=True,
|
|
)
|
|
federal_type = models.TextField(
|
|
max_length=50,
|
|
null=True,
|
|
blank=True,
|
|
help_text="Federal government branch",
|
|
)
|
|
federal_agency = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Federal agency",
|
|
)
|
|
epp_creation_date = models.DateField(
|
|
null=True,
|
|
help_text=("Duplication of registry's creation " "date saved for ease of reporting"),
|
|
)
|
|
epp_expiration_date = models.DateField(
|
|
null=True,
|
|
help_text=("Duplication of registry's expiration " "date saved for ease of reporting"),
|
|
)
|
|
first_name = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="First name",
|
|
verbose_name="first name / given name",
|
|
db_index=True,
|
|
)
|
|
middle_name = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Middle name",
|
|
)
|
|
last_name = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Last name",
|
|
)
|
|
title = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Title",
|
|
)
|
|
email = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Email",
|
|
)
|
|
phone = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Phone",
|
|
)
|
|
address_line = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="Street address",
|
|
)
|
|
city = models.TextField(
|
|
null=True,
|
|
blank=True,
|
|
help_text="City",
|
|
)
|
|
state_territory = models.CharField(
|
|
max_length=2,
|
|
null=True,
|
|
blank=True,
|
|
help_text="State, territory, or military post",
|
|
)
|
|
zipcode = models.CharField(
|
|
max_length=10,
|
|
null=True,
|
|
blank=True,
|
|
help_text="Zip code",
|
|
db_index=True,
|
|
)
|
|
|
|
def __str__(self):
|
|
return f"{self.username}, {self.domain_name}"
|
|
|
|
def display_transition_domain(self):
|
|
"""Displays all information about a TransitionDomain in string format"""
|
|
return (
|
|
f"\n-----TRANSITION DOMAIN------\n"
|
|
f"domainName: {self.domain_name}, \n"
|
|
f"username: {self.username}, \n"
|
|
f"status: {self.status}, \n"
|
|
f"email sent: {self.email_sent}, \n"
|
|
f"organization type: {self.organization_type}, \n"
|
|
f"organization_name: {self.organization_name}, \n"
|
|
f"federal_type: {self.federal_type}, \n"
|
|
f"federal_agency: {self.federal_agency}, \n"
|
|
f"epp_creation_date: {self.epp_creation_date}, \n"
|
|
f"epp_expiration_date: {self.epp_expiration_date}, \n"
|
|
f"first_name: {self.first_name}, \n"
|
|
f"middle_name: {self.middle_name}, \n"
|
|
f"last_name: {self.last_name}, \n"
|
|
f"email: {self.email}, \n"
|
|
f"phone: {self.phone}, \n"
|
|
f"address_line: {self.address_line}, \n"
|
|
f"city: {self.city}, \n"
|
|
f"state_territory: {self.state_territory}, \n"
|
|
f"zipcode: {self.zipcode}, \n"
|
|
)
|