Merge pull request #22576 from seamuslee001/update_jquery_ui
[civicrm-core.git] / CRM / Core / DynamicFKAccessTrait.php
index 041d53717d56b27422328ba427a58de5da3e0423..d88401b57651acbccc1d38ed3e8e827a2facab52 100644 (file)
@@ -38,7 +38,11 @@ trait CRM_Core_DynamicFKAccessTrait {
       $table = CRM_Core_DAO::getFieldValue(__CLASS__, $record['id'], 'entity_table');
     }
     if ($eid && $table) {
-      $targetEntity = CRM_Core_DAO_AllCoreTables::getBriefName(CRM_Core_DAO_AllCoreTables::getClassForTable($table));
+      $targetEntity = CRM_Core_DAO_AllCoreTables::getEntityNameForTable($table);
+      if ($targetEntity === NULL) {
+        throw new \API_Exception(sprintf('Cannot resolve permissions for dynamic foreign key in "%s". Invalid table reference "%s".',
+          static::getTableName(), $table));
+      }
       return \Civi\Api4\Utils\CoreUtil::checkAccessDelegated($targetEntity, 'update', ['id' => $eid], $userID);
     }
     return TRUE;