SystemCheck help improvements
authorColeman Watts <coleman@civicrm.org>
Wed, 9 Dec 2015 21:34:48 +0000 (16:34 -0500)
committerColeman Watts <coleman@civicrm.org>
Wed, 9 Dec 2015 21:34:48 +0000 (16:34 -0500)
CRM/Utils/Check/Env.php
ang/crmStatusPage/StatusPage.html
ang/crmStatusPage/StatusPageCtrl.js
js/Common.js

index 51089006bd1807dcb4e0945b6ea58d17c536cfed..9a6241ef99c88f00c960e4cd4fcbd8ceb107a8d5 100644 (file)
@@ -223,7 +223,11 @@ class CRM_Utils_Check_Env {
         \Psr\Log\LogLevel::WARNING,
         'fa-envelope'
       );
-      $message->addHelp(ts('Learn more in the <a href="%1">user guide</a>', array(1 => 'http://book.civicrm.org/user/advanced-configuration/email-system-configuration/')));
+      $docUrl = 'target="_blank" href="' . CRM_Utils_System::docURL(array('page' => 'user/advanced-configuration/email-system-configuration/', 'URLonly' => TRUE)) . '""';
+      $message->addHelp(
+        ts('A default mailbox must be configured for email bounce processing.') . '<br />' .
+        ts("Learn more in the <a %1>online documentation</a>.", array(1 => $docUrl))
+      );
       $messages[] = $message;
     }
 
@@ -259,26 +263,19 @@ class CRM_Utils_Check_Env {
         'fa-clock-o'
       );
     }
-    elseif ($lastCron > gmdate('U') - 86400) {
-      $message = new CRM_Utils_Check_Message(
-        __FUNCTION__,
-        $msg,
-        ts('Cron Not Running'),
-        \Psr\Log\LogLevel::WARNING,
-        'fa-clock-o'
-      );
-      $message->addHelp(ts('Learn more in the <a href="%1">Administrator\'s Guide supplement</a>', array(1 => 'http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs')));
-      $messages[] = $message;
-    }
     else {
       $message = new CRM_Utils_Check_Message(
         __FUNCTION__,
         $msg,
         ts('Cron Not Running'),
-        \Psr\Log\LogLevel::ERROR,
+        ($lastCron > gmdate('U') - 86400) ? \Psr\Log\LogLevel::WARNING : \Psr\Log\LogLevel::ERROR,
         'fa-clock-o'
       );
-      $message->addHelp(ts('Learn more in the <a href="%1">Administrator\'s Guide supplement</a>', array(1 => 'http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs')));
+      $docUrl = 'target="_blank" href="' . CRM_Utils_System::docURL(array('resource' => 'wiki', 'page' => 'Managing Scheduled Jobs', 'URLonly' => TRUE)) . '""';
+      $message->addHelp(
+        ts('Configuring cron on your server is necessary for running scheduled jobs such as sending mail and scheduled reminders.') . '<br />' .
+        ts("Learn more in the <a %1>online documentation</a>.", array(1 => $docUrl))
+      );
       $messages[] = $message;
     }
 
index 5eefc509e0cfe8a35f7a743cd21a7cd18376766a..60d6172656a2a3942148691a370eb31dd40f44aa 100644 (file)
@@ -26,7 +26,7 @@
         <a
           ng-if="status.help"
           class="helpicon"
-          ng-click="alert(status.help, status.title, 'info');"
+          ng-click="help(status.title, status.help);"
           href="javascript:void(0)"
           >
         </a>
index eba4413d22aa5312074ad64f4a4e306d289ea6eb..822a392e6d7d7a3d5d20b5b2558c06ad01a04ce1 100644 (file)
@@ -3,7 +3,7 @@
   angular.module('statuspage').controller('statuspageStatusPage',
     function($scope, crmApi, crmStatus, statusData) {
       $scope.ts = CRM.ts();
-      $scope.alert = CRM.alert;
+      $scope.help = CRM.help;
       $scope.formatDate = CRM.utils.formatDate;
       $scope.statuses = statusData.values;
 
index 5abee08f67ee6aceb92502852e3f8db3914aeaba..fda5c0bfda295aa3f1487f187a77159346b61a1a 100644 (file)
@@ -1006,21 +1006,29 @@ if (!CRM.vars) CRM.vars = {};
   };
 
   var helpDisplay, helpPrevious;
+  // Non-ajax example:
+  //   CRM.help('Example title', 'Here is some text to describe this example');
+  // Ajax example (will load help id "foo" from templates/CRM/bar.tpl):
+  //   CRM.help('Example title', {id: 'foo', file: 'CRM/bar'});
   CRM.help = function (title, params, url) {
+    var ajax = typeof params !== 'string';
     if (helpDisplay && helpDisplay.close) {
-      // If the same link is clicked twice, just close the display - todo use underscore method for this comparison
-      if (helpDisplay.isOpen && helpPrevious === JSON.stringify(params)) {
+      // If the same link is clicked twice, just close the display
+      if (helpDisplay.isOpen && _.isEqual(helpPrevious, params)) {
         helpDisplay.close();
         return;
       }
       helpDisplay.close();
     }
-    helpPrevious = JSON.stringify(params);
-    params.class_name = 'CRM_Core_Page_Inline_Help';
-    params.type = 'page';
-    helpDisplay = CRM.alert('...', title, 'crm-help crm-msg-loading', {expires: 0});
-    $.ajax(url || CRM.url('civicrm/ajax/inline'),
-      {
+    helpPrevious = _.cloneDeep(params);
+    helpDisplay = CRM.alert(ajax ? '...' : params, title, 'crm-help ' + (ajax ? 'crm-msg-loading' : 'info'), {expires: 0});
+    if (ajax) {
+      if (!url) {
+        url = CRM.url('civicrm/ajax/inline');
+        params.class_name = 'CRM_Core_Page_Inline_Help';
+        params.type = 'page';
+      }
+      $.ajax(url, {
         data: params,
         dataType: 'html',
         success: function (data) {
@@ -1031,8 +1039,8 @@ if (!CRM.vars) CRM.vars = {};
           $('#crm-notification-container .crm-help .notify-content:last').html('Unable to load help file.');
           $('#crm-notification-container .crm-help').removeClass('crm-msg-loading').addClass('error');
         }
-      }
-    );
+      });
+    }
   };
   /**
    * @see https://wiki.civicrm.org/confluence/display/CRMDOC/Notification+Reference