diff --git a/src/registrar/migrations/0043_domain_expiration_date.py b/src/registrar/migrations/0043_domain_expiration_date.py new file mode 100644 index 000000000..51d2d384a --- /dev/null +++ b/src/registrar/migrations/0043_domain_expiration_date.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.6 on 2023-10-27 19:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("registrar", "0042_create_groups_v03"), + ] + + operations = [ + migrations.AddField( + model_name="domain", + name="expiration_date", + field=models.DateField( + help_text="Duplication of registry's expiration date saved for ease of reporting", + null=True, + ), + ), + ] diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py index 942647ef1..344ef5a00 100644 --- a/src/registrar/models/domain.py +++ b/src/registrar/models/domain.py @@ -5,6 +5,7 @@ import re from datetime import date from string import digits from typing import Optional + from django_fsm import FSMField, transition, TransitionNotAllowed # type: ignore from django.db import models @@ -29,6 +30,7 @@ from epplibwrapper import ( from registrar.models.utility.contact_error import ContactError, ContactErrorCodes +from django.db.models import DateField from .utility.domain_field import DomainField from .utility.domain_helper import DomainHelper from .utility.time_stamped_model import TimeStampedModel @@ -209,12 +211,12 @@ class Domain(TimeStampedModel, DomainHelper): return self._get_property("up_date") @Cache - def expiration_date(self) -> date: + def registry_expiration_date(self) -> date: """Get or set the `ex_date` element from the registry.""" return self._get_property("ex_date") - @expiration_date.setter # type: ignore - def expiration_date(self, ex_date: date): + @registry_expiration_date.setter # type: ignore + def registry_expiration_date(self, ex_date: date): pass @Cache @@ -944,6 +946,13 @@ class Domain(TimeStampedModel, DomainHelper): help_text="Very basic info about the lifecycle of this domain object", ) + expiration_date = DateField( + null=True, + help_text=( + "Duplication of registry's expiration" "date saved for ease of reporting" + ), + ) + def isActive(self): return self.state == Domain.State.CREATED diff --git a/src/registrar/templates/domain_users.html b/src/registrar/templates/domain_users.html index f66eef5a6..7d522a515 100644 --- a/src/registrar/templates/domain_users.html +++ b/src/registrar/templates/domain_users.html @@ -12,11 +12,13 @@ email, and DNS name servers.

-