getSiteStats - Use consistent report format
authorTim Otten <totten@civicrm.org>
Tue, 13 Dec 2022 05:35:52 +0000 (21:35 -0800)
committerTim Otten <totten@civicrm.org>
Tue, 13 Dec 2022 05:41:51 +0000 (21:41 -0800)
When general usage stats are enabled, the format should be consistent across
versions.

Before (4.7 - 5.56): Report stat as 'Delivered'
Before (5.57.beta1): Report stat as 'MailingEventDelivered'
After (5.57.beta1): Report stat as 'Delivered'

CRM/Utils/VersionCheck.php
tests/phpunit/CRM/Utils/versionCheckTest.php

index 6b0376cf711277ed9dc51e8dad22c6d2d311b23d..56da0c7564ecfdface8596e7dbf14041e4e14423 100644 (file)
@@ -203,6 +203,8 @@ class CRM_Utils_VersionCheck {
       'CRM_Pledge_DAO_PledgeBlock' => NULL,
       'CRM_Mailing_Event_DAO_MailingEventDelivered' => NULL,
     ];
+    // Provide continuity in wire format.
+    $compat = ['MailingEventDelivered' => 'Delivered'];
     foreach ($tables as $daoName => $where) {
       if (class_exists($daoName)) {
         /** @var \CRM_Core_DAO $dao */
@@ -212,7 +214,7 @@ class CRM_Utils_VersionCheck {
         }
         $short_name = substr($daoName, strrpos($daoName, '_') + 1);
         $this->stats['entities'][] = [
-          'name' => $short_name,
+          'name' => $compat[$short_name] ?? $short_name,
           'size' => $dao->count(),
         ];
       }
index 1d152a3337a4b9bfe713d269c07328ba5d4b2bca..dba85f9cc4345aea319079642a5f04476086e492 100644 (file)
@@ -216,7 +216,8 @@ class CRM_Utils_versionCheckTest extends CiviUnitTestCase {
         'MembershipBlock',
         'Pledge',
         'PledgeBlock',
-        'MailingEventDelivered',
+        'Delivered',
+        // TIP: If an entity is renamed, then update VersionCheck's $compat list.
       ];
       sort($entity_names);
       sort($expected_entity_names);