From acd447a1a766675ce0a30dcd9a99f77f5c335316 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Thu, 27 Jan 2022 16:07:01 +1300 Subject: [PATCH] Flush the metadata cache when the domain is edited Domain info is cached in metadata cache for token usage - we should flush out when altering --- CRM/Core/BAO/Domain.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CRM/Core/BAO/Domain.php b/CRM/Core/BAO/Domain.php index 78cbac607d..69595743d5 100644 --- a/CRM/Core/BAO/Domain.php +++ b/CRM/Core/BAO/Domain.php @@ -33,6 +33,9 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain { * @param CRM_Core_DAO_Domain $domain */ public static function onPostSave($domain) { + // We want to clear out any cached tokens. + // Editing a domain is so rare we can risk being heavy handed. + Civi::cache('metadata')->clear(); Civi::$statics[__CLASS__]['current'] = NULL; } @@ -147,8 +150,9 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain { * @param int $id * * @return CRM_Core_DAO_Domain + * @throws \CRM_Core_Exception */ - public static function edit($params, $id) { + public static function edit($params, $id): CRM_Core_DAO_Domain { $params['id'] = $id; return self::writeRecord($params); } -- 2.25.1