This commit is contained in:
zandercymatics 2023-09-14 16:31:21 -06:00
parent cb2c3c1d1e
commit 1edc21330d
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
4 changed files with 7 additions and 29 deletions

View file

@ -385,12 +385,6 @@ class Domain(TimeStampedModel, DomainHelper):
self._make_contact_in_registry(contact=contact) self._make_contact_in_registry(contact=contact)
self._update_domain_with_contact(contact, rem=False) self._update_domain_with_contact(contact, rem=False)
def get_default_security_contact(self):
logger.info("getting default sec contact")
contact = PublicContact.get_default_security()
contact.domain = self
return contact
def _update_epp_contact(self, contact: PublicContact): def _update_epp_contact(self, contact: PublicContact):
"""Sends UpdateContact to update the actual contact object, """Sends UpdateContact to update the actual contact object,
domain object remains unaffected domain object remains unaffected
@ -665,7 +659,7 @@ class Domain(TimeStampedModel, DomainHelper):
return None return None
if contact_type is None: if contact_type is None:
raise ValueError(f"contact_type is None") raise ValueError("contact_type is None")
logger.debug(f"map_epp_contact_to_public_contact contact -> {contact}") logger.debug(f"map_epp_contact_to_public_contact contact -> {contact}")
logger.debug(f"What is the type? {type(contact)}") logger.debug(f"What is the type? {type(contact)}")
@ -677,7 +671,8 @@ class Domain(TimeStampedModel, DomainHelper):
addr = postal_info.addr addr = postal_info.addr
streets = {} streets = {}
if addr is not None and addr.street is not None: if addr is not None and addr.street is not None:
# 'zips' two lists together. For instance, (('street1', 'some_value_here'), ('street2', 'some_value_here')) # 'zips' two lists together.
# For instance, (('street1', 'some_value_here'), ('street2', 'some_value_here'))
# Dict then converts this to a useable kwarg which we can pass in # Dict then converts this to a useable kwarg which we can pass in
streets = dict( streets = dict(
zip_longest( zip_longest(

View file

@ -1,4 +1,3 @@
from dataclasses import dataclass
import datetime import datetime
import os import os
import logging import logging
@ -634,8 +633,6 @@ class MockEppLib(TestCase):
return MagicMock(res_data=[self.InfoDomainWithContacts]) return MagicMock(res_data=[self.InfoDomainWithContacts])
elif isinstance(_request, commands.InfoContact): elif isinstance(_request, commands.InfoContact):
mocked_result = self.mockDataInfoContact mocked_result = self.mockDataInfoContact
l = getattr(_request, "contact_type", None)
logger.debug(f"unuiquq {_request.__dict__}")
if getattr(_request, "id", None) in PublicContact.ContactTypeChoices: if getattr(_request, "id", None) in PublicContact.ContactTypeChoices:
desired_type = getattr(_request, "id", None) desired_type = getattr(_request, "id", None)
mocked_result = self.dummyInfoContactResultData( mocked_result = self.dummyInfoContactResultData(

View file

@ -450,20 +450,16 @@ class TestRegistrantContacts(MockEppLib):
def test_contact_getters_cache(self): def test_contact_getters_cache(self):
""" """
Scenario: A user is grabbing a domain, which is cached, that has multiple contact objects Scenario: A user is grabbing a domain that has multiple contact objects
When each contact is retrieved from cache When each contact is retrieved from cache
Then the user retrieves the correct contact objects Then the user retrieves the correct contact objects
""" """
domain, _ = Domain.objects.get_or_create(name="freeman.gov") domain, _ = Domain.objects.get_or_create(name="freeman.gov")
# the cached contacts and hosts should be dictionaries of what is passed to them
# expectedPublicContactDict = {'id': None, 'created_at': None, 'updated_at': None, 'contact_type': PublicContact.ContactTypeChoices.SECURITY, 'registry_id': 'freeman', 'domain_id': 2, 'name': 'Robert The Villain', 'org': 'Skim Milk', 'street1': 'Evil street1', 'street2': 'Evil street2', 'street3': 'evil street3', 'city': 'Cityofdoom', 'sp': 'sp', 'pc': 'pc', 'cc': 'cc', 'email': 'awful@skimmilk.com', 'voice': 'voice', 'fax': '+1-212-9876543', 'pw': 'fakepw'}
security = PublicContact.get_default_security() security = PublicContact.get_default_security()
security.email = "security@mail.gov" security.email = "security@mail.gov"
security.domain = domain security.domain = domain
security.save() security.save()
# expected_security_contact = PublicContact(**expectedPublicContactDict)
expected_security_contact = security expected_security_contact = security
domain.security_contact = security domain.security_contact = security
@ -498,7 +494,7 @@ class TestRegistrantContacts(MockEppLib):
@skip("not implemented yet") @skip("not implemented yet")
def test_contact_getters_registry(self): def test_contact_getters_registry(self):
""" """
Scenario: A user is grabbing a domain, which does not exist in cache, that has multiple contact objects Scenario: A user is grabbing a domain that has multiple contact objects
When the domain is retrieved from cache When the domain is retrieved from cache
Then the user retrieves the correct domain object Then the user retrieves the correct domain object
""" """

View file

@ -20,7 +20,6 @@ from registrar.models import (
User, User,
UserDomainRole, UserDomainRole,
) )
from registrar.models.public_contact import PublicContact
from ..forms import ( from ..forms import (
ContactForm, ContactForm,
@ -251,10 +250,7 @@ class DomainSecurityEmailView(DomainPermissionView, FormMixin):
"""The initial value for the form.""" """The initial value for the form."""
domain = self.get_object() domain = self.get_object()
initial = super().get_initial() initial = super().get_initial()
security_email = "" initial["security_email"] = domain.security_contact.email
if(domain.security_contact.email is not None):
security_email = domain.security_contact.email
initial["security_email"] = security_email
return initial return initial
def get_success_url(self): def get_success_url(self):
@ -278,13 +274,7 @@ class DomainSecurityEmailView(DomainPermissionView, FormMixin):
new_email = form.cleaned_data.get("security_email", "") new_email = form.cleaned_data.get("security_email", "")
domain = self.get_object() domain = self.get_object()
contact = domain.security_contact
contact: PublicContact
if domain.security_contact is not None:
contact = domain.security_contact
else:
contact = domain.get_default_security_contact()
contact.email = new_email contact.email = new_email
contact.save() contact.save()