CRM-21349 - Improve batch merge status message
authorColeman Watts <coleman@civicrm.org>
Thu, 9 Nov 2017 13:33:12 +0000 (08:33 -0500)
committerColeman Watts <coleman@civicrm.org>
Thu, 9 Nov 2017 13:33:12 +0000 (08:33 -0500)
CRM/Contact/Page/DedupeFind.php
CRM/Dedupe/Merger.php

index 344efad2aab86ab27cb5617295f772cdd1471199..99a91201debdbbd4193bf1784703af4a94a0c1ab 100644 (file)
@@ -147,9 +147,11 @@ class CRM_Contact_Page_DedupeFind extends CRM_Core_Page_Basic {
       //reload from cache table
       $cacheKeyString = CRM_Dedupe_Merger::getMergeCacheKeyString($rgid, $gid, $criteria);
 
-      $stats = CRM_Dedupe_Merger::getMergeStatsMsg($cacheKeyString);
+      $stats = CRM_Dedupe_Merger::getMergeStats($cacheKeyString);
       if ($stats) {
-        CRM_Core_Session::setStatus($stats, ts('Batch Complete'), 'alert', array('expires' => 0));
+        $message = CRM_Dedupe_Merger::getMergeStatsMsg($stats);
+        $status = empty($stats['skipped']) ? 'success' : 'alert';
+        CRM_Core_Session::setStatus($message, ts('Batch Complete'), $status, array('expires' => 0));
         // reset so we not displaying same message again
         CRM_Dedupe_Merger::resetMergeStats($cacheKeyString);
       }
index 47cc8b743571521e3e115b177bd66c99d57670cd..974b94e162d25ba8b3d07ce481578114c3dc2d76 100644 (file)
@@ -739,18 +739,17 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
   /**
    * Get merge statistics message.
    *
-   * @param string $cacheKeyString
+   * @param array $stats
    *
    * @return string
    */
-  public static function getMergeStatsMsg($cacheKeyString) {
-    $msg   = '';
-    $stats = CRM_Dedupe_Merger::getMergeStats($cacheKeyString);
+  public static function getMergeStatsMsg($stats) {
+    $msg = '';
     if (!empty($stats['merged'])) {
-      $msg = "{$stats['merged']} " . ts('Contact(s) were merged.');
+      $msg = '<p>' . ts('One contact merged.', array(1 => $stats['merged'], 'plural' => '%1 contacts merged.')) . '</p>';
     }
     if (!empty($stats['skipped'])) {
-      $msg .= $stats['skipped'] . ts(' Contact(s) were skipped.');
+      $msg .= '<p>' . ts('One contact was skipped.', array(1 => $stats['skipped'], 'plural' => '%1 contacts were skipped.')) . '</p>';
     }
     return $msg;
   }