From bfb28a62f8bd7d5aea379c41ecb6faa2c48b0cb0 Mon Sep 17 00:00:00 2001 From: CocoByte Date: Fri, 27 Oct 2023 13:22:53 -0600 Subject: [PATCH 1/3] Updated domain model & added migration --- .../migrations/0043_domain_expiration_date.py | 20 +++++++++++++++++++ src/registrar/models/domain.py | 13 +++++++++--- src/registrar/tests/test_models_domain.py | 2 +- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 src/registrar/migrations/0043_domain_expiration_date.py 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..443465ff5 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,11 @@ 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/tests/test_models_domain.py b/src/registrar/tests/test_models_domain.py index 1d87c6b1c..c6b2b7ce9 100644 --- a/src/registrar/tests/test_models_domain.py +++ b/src/registrar/tests/test_models_domain.py @@ -56,7 +56,7 @@ class TestDomainCache(MockEppLib): self.assertFalse("avail" in domain._cache.keys()) # using a setter should clear the cache - domain.expiration_date = datetime.date.today() + domain.registry_expiration_date = datetime.date.today() self.assertEquals(domain._cache, {}) # send should have been called only once From 1fe6267e2f5b8e424954a9d2cbfbc1b6bef368f8 Mon Sep 17 00:00:00 2001 From: CocoByte Date: Fri, 27 Oct 2023 16:00:50 -0600 Subject: [PATCH 2/3] linted --- src/registrar/models/domain.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py index 443465ff5..8e1e8cb20 100644 --- a/src/registrar/models/domain.py +++ b/src/registrar/models/domain.py @@ -947,8 +947,9 @@ class Domain(TimeStampedModel, DomainHelper): ) expiration_date = DateField( - null = True, - help_text="Duplication of registry's expiration date saved for ease of reporting" + null=True, + help_text=("Duplication of registry's expiration" + "date saved for ease of reporting"), ) def isActive(self): From 6303a8c60194882bac221248d5c9048fce1c1a53 Mon Sep 17 00:00:00 2001 From: CocoByte Date: Fri, 27 Oct 2023 16:09:54 -0600 Subject: [PATCH 3/3] linted..again --- src/registrar/models/domain.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py index 8e1e8cb20..344ef5a00 100644 --- a/src/registrar/models/domain.py +++ b/src/registrar/models/domain.py @@ -948,8 +948,9 @@ class Domain(TimeStampedModel, DomainHelper): expiration_date = DateField( null=True, - help_text=("Duplication of registry's expiration" - "date saved for ease of reporting"), + help_text=( + "Duplication of registry's expiration" "date saved for ease of reporting" + ), ) def isActive(self):