diff --git a/src/registrar/assets/js/get-gov-admin.js b/src/registrar/assets/js/get-gov-admin.js index cd2cd6da4..89d6eb3eb 100644 --- a/src/registrar/assets/js/get-gov-admin.js +++ b/src/registrar/assets/js/get-gov-admin.js @@ -580,14 +580,19 @@ function initializeWidgetOnList(list, parentId) { // TODO fix edge case where nothing is selected function handleChangeActionNeededEmail(actionNeededReasonDropdown, actionNeededEmail) { actionNeededReasonDropdown.addEventListener("change", function() { - // TODO on change if not actionneeded on status, hide show email button + let noEmailMessage = document.getElementById("no-email-message"); const pk = document.querySelector("#domain_request_id").value; const reason = actionNeededReasonDropdown.value; // If a reason isn't specified, no email will be sent. // You also cannot save the model in this state. + // This flow occurs if you switch back to the empty picker state if(!reason) { - actionNeededEmail.value = "No email will be sent"; + // Hide the text field + hideElement(actionNeededEmail); + + // Show the "no email" message + showElement(noEmailMessage); return; } @@ -601,12 +606,18 @@ function initializeWidgetOnList(list, parentId) { if(data && data.email_body_text) { actionNeededEmail.value = data.email_body_text - }else if (data && !data.email_body_text) { - actionNeededEmail.value = "No email will be sent"; - } - if (data) { - actionNeededEmail.value = data.email_body_text ? data.email_body_text : "No email will be sent"; + // Show the text field + showElement(actionNeededEmail); + + // Hide the "no email" message + hideElement(noEmailMessage); + }else if (data && !data.email_body_text) { + // Hide the text field + hideElement(actionNeededEmail); + + // Show the "no email" message + showElement(noEmailMessage); } }); }); diff --git a/src/registrar/assets/sass/_theme/_admin.scss b/src/registrar/assets/sass/_theme/_admin.scss index eb09c01ec..bb366b35a 100644 --- a/src/registrar/assets/sass/_theme/_admin.scss +++ b/src/registrar/assets/sass/_theme/_admin.scss @@ -824,3 +824,8 @@ div.dja__model-description{ .no-border { border: none; } + +.display-none { + // Many elements in django admin try to override this, so we need !important. + display: none !important; +} \ No newline at end of file diff --git a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html index a8de2b161..789947694 100644 --- a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html +++ b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html @@ -69,7 +69,7 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html) {% block after_help_text %} {% if field.field.name == "status" %} -
+