Merge pull request #23709 from eileenmcnaughton/buttons
[civicrm-core.git] / CRM / Member / Tokens.php
index 3d369285d0556cd8b9cd10d0bd14f1c030633cde..35ba54a3557d5fa6db017dbe8a8bfa5923c70cad 100644 (file)
@@ -50,6 +50,8 @@ class CRM_Member_Tokens extends CRM_Core_EntityTokens {
       'end_date',
       'status_id',
       'membership_type_id',
+      'source',
+      'status_override_end_date',
     ];
   }
 
@@ -67,6 +69,30 @@ class CRM_Member_Tokens extends CRM_Core_EntityTokens {
     }
   }
 
+  /**
+   * Get any overrides for token metadata.
+   *
+   * This is most obviously used for setting the audience, which
+   * will affect widget-presence.
+   *
+   * Changing the audience is done in order to simplify the
+   * UI for more general users.
+   *
+   * @return \string[][]
+   */
+  protected function getTokenMetadataOverrides(): array {
+    return [
+      'owner_membership_id' => ['audience' => 'sysadmin'],
+      'max_related' => ['audience' => 'sysadmin'],
+      'contribution_recur_id' => ['audience' => 'sysadmin'],
+      'is_override' => ['audience' => 'sysadmin'],
+      'is_test' => ['audience' => 'sysadmin'],
+      // Pay later is considered to be unreliable in the schema
+      // and will eventually be removed.
+      'is_pay_later' => ['audience' => 'deprecated'],
+    ];
+  }
+
   /**
    * Get fields which need to be returned to render another token.
    *