Update to have flag logic

This commit is contained in:
Rebecca Hsieh 2024-06-24 12:46:26 -07:00
parent 2ec954ff1d
commit 1c015b7aa1
No known key found for this signature in database
3 changed files with 12 additions and 11 deletions

View file

@ -17,6 +17,8 @@ from .utility.time_stamped_model import TimeStampedModel
from ..utility.email import send_templated_email, EmailSendingError from ..utility.email import send_templated_email, EmailSendingError
from itertools import chain from itertools import chain
from waffle.decorators import flag_is_active
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -1165,19 +1167,20 @@ class DomainRequest(TimeStampedModel):
def _is_policy_acknowledgement_complete(self): def _is_policy_acknowledgement_complete(self):
return self.is_policy_acknowledged is not None return self.is_policy_acknowledged is not None
def _is_general_form_complete(self): def _is_general_form_complete(self, request):
has_profile_feature_flag = flag_is_active(request, "profile_feature")
return ( return (
self._is_organization_name_and_address_complete() self._is_organization_name_and_address_complete()
and self._is_authorizing_official_complete() and self._is_authorizing_official_complete()
and self._is_requested_domain_complete() and self._is_requested_domain_complete()
and self._is_purpose_complete() and self._is_purpose_complete()
and self._is_submitter_complete() and (self._is_submitter_complete() if not has_profile_feature_flag else True)
and self._is_other_contacts_complete() and self._is_other_contacts_complete()
and self._is_additional_details_complete() and self._is_additional_details_complete()
and self._is_policy_acknowledgement_complete() and self._is_policy_acknowledgement_complete()
) )
def _form_complete(self): def _form_complete(self, request):
match self.generic_org_type: match self.generic_org_type:
case DomainRequest.OrganizationChoices.FEDERAL: case DomainRequest.OrganizationChoices.FEDERAL:
is_complete = self._is_federal_complete() is_complete = self._is_federal_complete()
@ -1198,8 +1201,6 @@ class DomainRequest(TimeStampedModel):
case _: case _:
# NOTE: Shouldn't happen, this is only if somehow they didn't choose an org type # NOTE: Shouldn't happen, this is only if somehow they didn't choose an org type
is_complete = False is_complete = False
if not is_complete or not self._is_general_form_complete(request):
if not is_complete or not self._is_general_form_complete():
return False return False
return True return True

View file

@ -2012,8 +2012,8 @@ class TestDomainRequestIncomplete(TestCase):
self.domain_request.is_policy_acknowledged = None self.domain_request.is_policy_acknowledged = None
self.assertFalse(self.domain_request._is_policy_acknowledgement_complete()) self.assertFalse(self.domain_request._is_policy_acknowledgement_complete())
def test_form_complete(self): def test_form_complete(self, request):
self.assertTrue(self.domain_request._form_complete()) self.assertTrue(self.domain_request._form_complete(request))
self.domain_request.generic_org_type = None self.domain_request.generic_org_type = None
self.domain_request.save() self.domain_request.save()
self.assertFalse(self.domain_request._form_complete()) self.assertFalse(self.domain_request._form_complete(request))

View file

@ -383,7 +383,7 @@ class DomainRequestWizard(DomainRequestWizardPermissionView, TemplateView):
has_profile_flag = flag_is_active(self.request, "profile_feature") has_profile_flag = flag_is_active(self.request, "profile_feature")
context_stuff = {} context_stuff = {}
if DomainRequest._form_complete(self.domain_request): if DomainRequest._form_complete(self.domain_request, self.request):
modal_button = '<button type="submit" ' 'class="usa-button" ' ">Submit request</button>" modal_button = '<button type="submit" ' 'class="usa-button" ' ">Submit request</button>"
context_stuff = { context_stuff = {
"not_form": False, "not_form": False,
@ -695,7 +695,7 @@ class Review(DomainRequestWizard):
forms = [] # type: ignore forms = [] # type: ignore
def get_context_data(self): def get_context_data(self):
if DomainRequest._form_complete(self.domain_request) is False: if DomainRequest._form_complete(self.domain_request, self.request) is False:
logger.warning("User arrived at review page with an incomplete form.") logger.warning("User arrived at review page with an incomplete form.")
context = super().get_context_data() context = super().get_context_data()
context["Step"] = Step.__members__ context["Step"] = Step.__members__