mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-25 20:18:38 +02:00
Merge branch 'main' into za/850-epp-contact-get
This commit is contained in:
commit
429fecec28
7 changed files with 339 additions and 46 deletions
|
@ -2,7 +2,7 @@ from itertools import zip_longest
|
|||
import logging
|
||||
from datetime import date
|
||||
from string import digits
|
||||
from django_fsm import FSMField, transition # type: ignore
|
||||
from django_fsm import FSMField, transition, TransitionNotAllowed # type: ignore
|
||||
|
||||
from django.db import models
|
||||
|
||||
|
@ -592,11 +592,6 @@ class Domain(TimeStampedModel, DomainHelper):
|
|||
"""
|
||||
return self.state == self.State.READY
|
||||
|
||||
def delete_request(self):
|
||||
"""Delete from host. Possibly a duplicate of _delete_host?"""
|
||||
# TODO fix in ticket #901
|
||||
pass
|
||||
|
||||
def transfer(self):
|
||||
"""Going somewhere. Not implemented."""
|
||||
raise NotImplementedError()
|
||||
|
@ -641,7 +636,7 @@ class Domain(TimeStampedModel, DomainHelper):
|
|||
"""This domain should be deleted from the registry
|
||||
may raises RegistryError, should be caught or handled correctly by caller"""
|
||||
request = commands.DeleteDomain(name=self.name)
|
||||
registry.send(request)
|
||||
registry.send(request, cleaned=True)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
@ -998,16 +993,32 @@ class Domain(TimeStampedModel, DomainHelper):
|
|||
self._remove_client_hold()
|
||||
# TODO -on the client hold ticket any additional error handling here
|
||||
|
||||
@transition(field="state", source=State.ON_HOLD, target=State.DELETED)
|
||||
def deleted(self):
|
||||
"""domain is deleted in epp but is saved in our database"""
|
||||
# TODO Domains may not be deleted if:
|
||||
# a child host is being used by
|
||||
# another .gov domains. The host must be first removed
|
||||
# and/or renamed before the parent domain may be deleted.
|
||||
logger.info("pendingCreate()-> inside pending create")
|
||||
self._delete_domain()
|
||||
# TODO - delete ticket any additional error handling here
|
||||
@transition(
|
||||
field="state", source=[State.ON_HOLD, State.DNS_NEEDED], target=State.DELETED
|
||||
)
|
||||
def deletedInEpp(self):
|
||||
"""Domain is deleted in epp but is saved in our database.
|
||||
Error handling should be provided by the caller."""
|
||||
# While we want to log errors, we want to preserve
|
||||
# that information when this function is called.
|
||||
# Human-readable errors are introduced at the admin.py level,
|
||||
# as doing everything here would reduce reliablity.
|
||||
try:
|
||||
logger.info("deletedInEpp()-> inside _delete_domain")
|
||||
self._delete_domain()
|
||||
except RegistryError as err:
|
||||
logger.error(f"Could not delete domain. Registry returned error: {err}")
|
||||
raise err
|
||||
except TransitionNotAllowed as err:
|
||||
logger.error("Could not delete domain. FSM failure: {err}")
|
||||
raise err
|
||||
except Exception as err:
|
||||
logger.error(
|
||||
f"Could not delete domain. An unspecified error occured: {err}"
|
||||
)
|
||||
raise err
|
||||
else:
|
||||
self._invalidate_cache()
|
||||
|
||||
@transition(
|
||||
field="state",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue