added Transition Domain model

This commit is contained in:
CuriousX 2023-09-08 16:48:35 -06:00
parent 328cc5b468
commit 0370dd9f83
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F
5 changed files with 118 additions and 1 deletions

View file

@ -410,3 +410,4 @@ admin.site.register(models.Host, MyHostAdmin)
admin.site.register(models.Nameserver, MyHostAdmin) admin.site.register(models.Nameserver, MyHostAdmin)
admin.site.register(models.Website, AuditedAdmin) admin.site.register(models.Website, AuditedAdmin)
admin.site.register(models.DomainApplication, DomainApplicationAdmin) admin.site.register(models.DomainApplication, DomainApplicationAdmin)
admin.site.register(models.TransitionDomain, AuditedAdmin)

View file

@ -131,7 +131,7 @@ class UserFixture:
{ {
"username": "cfe7c2fc-e24a-480e-8b78-28645a1459b3", "username": "cfe7c2fc-e24a-480e-8b78-28645a1459b3",
"first_name": "Nicolle-Analyst", "first_name": "Nicolle-Analyst",
"last_name": "LeClair", "last_name": "LeClair-Analyst",
"email": "nicolle.leclair@ecstech.com", "email": "nicolle.leclair@ecstech.com",
}, },
] ]

View file

@ -0,0 +1,68 @@
# Generated by Django 4.2.1 on 2023-09-08 22:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("registrar", "0030_alter_user_status"),
]
operations = [
migrations.CreateModel(
name="TransitionDomain",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
(
"username",
models.TextField(
help_text="Username - this will be an email address",
verbose_name="Username",
),
),
(
"domain_name",
models.TextField(blank=True, null=True, verbose_name="Domain name"),
),
(
"status",
models.CharField(
blank=True,
choices=[("created", "Created"), ("hold", "Hold")],
help_text="domain status during the transfer",
max_length=255,
verbose_name="Status",
),
),
(
"ignoreServerHold",
models.BooleanField(
default=False,
help_text="specifies whether to ignore server hold",
verbose_name="ignore Server Hold",
),
),
(
"email_sent",
models.BooleanField(
default=False,
help_text="indicates whether email was sent",
verbose_name="email sent",
),
),
],
options={
"abstract": False,
},
),
]

View file

@ -13,6 +13,7 @@ from .user_domain_role import UserDomainRole
from .public_contact import PublicContact from .public_contact import PublicContact
from .user import User from .user import User
from .website import Website from .website import Website
from .transition_domain import TransitionDomain
__all__ = [ __all__ = [
"Contact", "Contact",
@ -28,6 +29,7 @@ __all__ = [
"PublicContact", "PublicContact",
"User", "User",
"Website", "Website",
"TransitionDomain"
] ]
auditlog.register(Contact) auditlog.register(Contact)
@ -42,3 +44,4 @@ auditlog.register(UserDomainRole)
auditlog.register(PublicContact) auditlog.register(PublicContact)
auditlog.register(User) auditlog.register(User)
auditlog.register(Website) auditlog.register(Website)
auditlog.register(TransitionDomain)

View file

@ -0,0 +1,45 @@
from django.db import models
from .utility.time_stamped_model import TimeStampedModel
class TransitionDomain(TimeStampedModel):
"""Transition Domain model stores information about the state of a domain upon transition between registry providers"""
class StatusChoices(models.TextChoices):
CREATED = "created", "Created"
HOLD = "hold", "Hold"
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,
choices=StatusChoices.choices,
verbose_name="Status",
help_text="domain status during the transfer",
)
ignoreServerHold = models.BooleanField(
null=False,
default=False, #--COMMENT: this was not specified in the ticket #921
verbose_name="ignore Server Hold",
help_text="specifies whether to ignore server hold",
)
email_sent = models.BooleanField(
null=False,
default=False,
verbose_name="email sent",
help_text="indicates whether email was sent",
)
def __str__(self):
return self.username