From 6f6df1128dd580a8df3d970ba502a3f5a71f61f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Charva=CC=81t?= Date: Fri, 10 Jul 2026 13:20:19 +0200 Subject: [PATCH] fix(customfields): map FieldSet.entity via e.clientName, not e.name --- www/go/core/model/FieldSet.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/www/go/core/model/FieldSet.php b/www/go/core/model/FieldSet.php index e3f964f69f..c134c170aa 100644 --- a/www/go/core/model/FieldSet.php +++ b/www/go/core/model/FieldSet.php @@ -100,7 +100,10 @@ protected static function defineMapping(): Mapping { return parent::defineMapping() ->addTable('core_customfields_field_set', 'fs') - ->addQuery((new Query())->select("e.name AS entity")->join('core_entity', 'e', 'e.id = fs.entityId')); + // clientName, NOT name: EntityType::findByName() indexes by client + // name, so entities whose clientName differs from the raw name + // (module-prefixed ones) would break Field::tableName() otherwise. + ->addQuery((new Query())->select("e.clientName AS entity")->join('core_entity', 'e', 'e.id = fs.entityId')); } public function getEntity() { @@ -122,7 +125,7 @@ protected static function defineFilters(): Filters { return parent::defineFilters() ->add('entities', function(Criteria $criteria, $value) { - $criteria->andWhere('e.name', 'IN', $value); + $criteria->andWhere('e.clientName', 'IN', $value); }) ->add('isTab', function(Criteria $criteria, $value) { $criteria->andWhere('isTab', '=', $value);