miniShop2
miniShop2 copied to clipboard
Проверка разрешения msproduct_save
Сообщение об ошибке
Резюме
При
'canSave' => $this->canSave,
в строке https://github.com/bezumkin/miniShop2/blob/7894e4479e98ed26d2cb189379ca47657615489d/core/components/minishop2/controllers/product/update.class.php#L134
не проверяется разрешение msproduct_save политики доступа по аналогии с категорией https://github.com/bezumkin/miniShop2/blob/7894e4479e98ed26d2cb189379ca47657615489d/core/components/minishop2/controllers/category/update.class.php#L115 . Из-за этого на странице товара кнопка "Сохранить" заблокирована при отключенном разрешении save_document.
Нужно изменить строку
https://github.com/bezumkin/miniShop2/blob/7894e4479e98ed26d2cb189379ca47657615489d/core/components/minishop2/controllers/product/update.class.php#L134
на
'canSave' => $this->modx->hasPermission('msproduct_save'),
и аналогично здесь
https://github.com/bezumkin/miniShop2/blob/7894e4479e98ed26d2cb189379ca47657615489d/core/components/minishop2/controllers/product/create.class.php#L132
Шаг для воспроизведения
Отключить разрешение save_document и включить разрешение msproduct_save
Ожидаемое поведение
Кнопка "Сохранить" на карточке товара (class_key = msProduct) должна быть видна и не должна быть заблокированной при включенном разрешении msproduct_save по аналогии с категорией (class_key = msCategory).
Среда
PHP 7.3.11 MODX Revolution 2.7.2-pl minishop2-2.5.0-pl
То же самое с разрешением 'canDelete' => $this->modx->hasPermission('msproduct_delete'),
в строках
https://github.com/bezumkin/miniShop2/blob/7894e4479e98ed26d2cb189379ca47657615489d/core/components/minishop2/controllers/product/update.class.php#L138
и
https://github.com/bezumkin/miniShop2/blob/7894e4479e98ed26d2cb189379ca47657615489d/core/components/minishop2/controllers/product/create.class.php#L136