add error message to registry errors

This commit is contained in:
matthewswspence 2024-12-05 13:55:32 -06:00
parent aaaa4f21d2
commit 8b473d5e18
No known key found for this signature in database
GPG key ID: FB458202A7852BA4
3 changed files with 5 additions and 5 deletions

View file

@ -62,9 +62,10 @@ class RegistryError(Exception):
- 2501 - 2502 Something malicious or abusive may have occurred
"""
def __init__(self, *args, code=None, **kwargs):
def __init__(self, *args, code=None, msg=None,**kwargs):
super().__init__(*args, **kwargs)
self.code = code
self.msg = msg
def should_retry(self):
return self.code == ErrorCode.COMMAND_FAILED

View file

@ -2916,18 +2916,17 @@ class DomainAdmin(ListHeaderAdmin, ImportExportModelAdmin):
except RegistryError as err:
# Using variables to get past the linter
message1 = f"Cannot delete Domain when in state {obj.state}"
message2 = "This subdomain is being used as a hostname on another domain"
# Human-readable mappings of ErrorCodes. Can be expanded.
error_messages = {
# noqa on these items as black wants to reformat to an invalid length
ErrorCode.OBJECT_STATUS_PROHIBITS_OPERATION: message1,
ErrorCode.OBJECT_ASSOCIATION_PROHIBITS_OPERATION: message2,
ErrorCode.OBJECT_ASSOCIATION_PROHIBITS_OPERATION: err.msg,
}
message = "Cannot connect to the registry"
if not err.is_connection_error():
# If nothing is found, will default to returned err
message = error_messages.get(err.code, err)
message = error_messages[err.code]
self.message_user(request, f"Error deleting this Domain: {message}", messages.ERROR)
except TransitionNotAllowed:
if obj.state == Domain.State.DELETED:

View file

@ -1066,7 +1066,7 @@ class Domain(TimeStampedModel, DomainHelper):
if host.domain != self:
logger.error("Host %s in use by another domain: %s", host.name, host.domain)
raise RegistryError(
"Host in use by another domain: {}".format(host.domain),
msg="Host in use by another domain: {}".format(host.domain),
code=ErrorCode.OBJECT_ASSOCIATION_PROHIBITS_OPERATION,
)