CRM-13283 - snooze/hush working
authorJon goldberg <jon@palantetech.coop>
Tue, 28 Apr 2015 23:15:33 +0000 (17:15 -0600)
committerJon goldberg <jon@palantetech.coop>
Tue, 21 Jul 2015 20:38:18 +0000 (16:38 -0400)
CRM/Utils/Check.php

index 00383282fa6530a932a34de2c25feba498d247ac..11e02554b821ff2bd01d0b76d861fa6bd68fbd8a 100644 (file)
@@ -218,7 +218,6 @@ class CRM_Utils_Check {
 
     uasort($messages, array(__CLASS__, 'severitySort'));
 
-CRM_Core_Error::debug('messages', $messages);
     return $messages;
   }
 
@@ -229,9 +228,6 @@ CRM_Core_Error::debug('messages', $messages);
    *   TRUE means hush/snooze, FALSE means display.
    */
   public function checkHushSnooze($message) {
-    // My pseudocode:
-    //   If current_date < statusPreference->date, unset the $message.
-    // CRM_Core_Error::debug('message', $message);
     $statusPreferenceParams = array(
       'name' => $message->getName(),
       'domain_id' => CRM_Core_Config::domainID(),
@@ -243,20 +239,27 @@ CRM_Core_Error::debug('messages', $messages);
       $spid = $statusPreference['id'];
       $severity = self::severityMap($message->getSeverity());
       if ($severity <= $statusPreference['values'][$spid]['ignore_severity']) {
-        CRM_Core_Error::debug('snooze', 'possible snooze/hush!');
         // A hush or a snooze has been set.  Find out which.
         if ($statusPreference['values'][$spid]['hush_until']) {
-          // Snooze.
-          CRM_Core_Error::debug('snoozepath', 'snooze');
+          // Snooze is set.
           $today = new DateTime();
+          $snoozeDate = new DateTime($statusPreference['values'][$spid]['hush_until']);
+          if ($today > $snoozeDate) {
+            // Snooze is expired.
+            return FALSE;
+          }
+          else {
+            // Snooze is active.
+            return TRUE;
+          }
         }
         else {
           // Hush.
-          CRM_Core_Error::debug('hushpath', 'hush');
           return TRUE;
         }
       }
     }
     return FALSE;
   }
+
 }