From 769bd2e37f13ec572d9eea505c93d9d2f6e7932b Mon Sep 17 00:00:00 2001
From: Mike McKay <mfmckay@wustl.edu>
Date: Mon, 19 Sep 2016 14:36:09 -0500
Subject: [PATCH] XNAT-4463 Added message in cases where no project owners have
 valid emails. Hacked the UI to show this as an error message using Will's
 string contains hack. Hopefully we can get a better way to handle message
 type soon.

---
 .../nrg/xnat/turbine/modules/actions/RequestAccess.java   | 4 +++-
 src/main/webapp/xnat-templates/screens/Index.vm           | 8 +++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/nrg/xnat/turbine/modules/actions/RequestAccess.java b/src/main/java/org/nrg/xnat/turbine/modules/actions/RequestAccess.java
index 602fb4c0..5971519d 100644
--- a/src/main/java/org/nrg/xnat/turbine/modules/actions/RequestAccess.java
+++ b/src/main/java/org/nrg/xnat/turbine/modules/actions/RequestAccess.java
@@ -84,6 +84,8 @@ public class RequestAccess extends SecureAction {
         String from = XDAT.getSiteConfigPreferences().getAdminEmail();
         String subject = TurbineUtils.GetSystemName() + " Access Request for " + project.getName();
 
+        data.setMessage("Access request sent.");
+
         try {
 			XDAT.getMailService().sendHtmlMessage(from, to, null, bcc, subject, message);
         } catch (Exception exception) {
@@ -99,10 +101,10 @@ public class RequestAccess extends SecureAction {
             }
             if (successfulSends == 0) {
                 logger.error("Unable to send mail", exception);
+                data.setMessage("No project owners have emails which could receive the access request. Please contact the system administrator for additional assistance.");
             }
         }
 
-        data.setMessage("Access request sent.");
         data.setScreenTemplate("Index.vm");
     }
 }
diff --git a/src/main/webapp/xnat-templates/screens/Index.vm b/src/main/webapp/xnat-templates/screens/Index.vm
index e2ed210c..92190d54 100644
--- a/src/main/webapp/xnat-templates/screens/Index.vm
+++ b/src/main/webapp/xnat-templates/screens/Index.vm
@@ -12,7 +12,13 @@
     $!template.setLayoutTemplate($siteConfig.getProperty("siteHomeLayout","/Index.vm"))
 #end
 #if ($data.message)
-<div class="note">$data.message</div><br>
+<div class="note" id="messageToDisplay">$data.message</div><br>
+<script>
+    var messageToDisplay = "$data.message".toLowerCase();
+    if (messageToDisplay.indexOf('no project owners have emails which could receive the access request') > -1) {
+        $('#messageToDisplay').removeClass('note').addClass('error');
+    }
+</script>
 #end
 
 #if(0 < $par_count)
-- 
GitLab