$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;