Описание проблемы
Группа /api/mgr/grid-config защищена PermissionMiddleware(..., 'view_document'). Write-методы (PUT config, add/update/delete field) пишут в msGridField без user-scope — колонки грида меняются глобально для всех менеджеров.
Любой mgr с правом просмотра документов может перестроить грид заказов/товаров.
Шаги воспроизведения
- Mgr-юзер только с
view_document (без mssetting_save).
PUT connector route=/api/mgr/grid-config/orders с fields:[...].
- Колонки грида заказов меняются для всех менеджеров.
Ожидаемое поведение
- Read:
view_document / msorder_list (по гриду) — ок.
- Write:
mssetting_save или отдельное permission на настройку гридов.
Фактическое поведение
// manager.php ~961-1001
}, [ new PermissionMiddleware($modx, 'view_document') ]);
GridConfigService::saveGridConfig пишет глобально.
Окружение
- MiniShop3: beta / Manager REST
- MODX: 3.x
- PHP: 8.2+
Дополнительный контекст
Отдельно от #378 (customers/category) и #381 (/config page-fields). Та же ACL-тема, другая поверхность.
Описание проблемы
Группа
/api/mgr/grid-configзащищенаPermissionMiddleware(..., 'view_document'). Write-методы (PUTconfig, add/update/delete field) пишут вmsGridFieldбез user-scope — колонки грида меняются глобально для всех менеджеров.Любой mgr с правом просмотра документов может перестроить грид заказов/товаров.
Шаги воспроизведения
view_document(безmssetting_save).PUTconnectorroute=/api/mgr/grid-config/ordersсfields:[...].Ожидаемое поведение
view_document/msorder_list(по гриду) — ок.mssetting_saveили отдельное permission на настройку гридов.Фактическое поведение
GridConfigService::saveGridConfigпишет глобально.Окружение
Дополнительный контекст
Отдельно от #378 (customers/category) и #381 (
/configpage-fields). Та же ACL-тема, другая поверхность.