Страница 1 из 1

Модуль - сохранение в админке по условию

Добавлено: 19.05.2021, 09:33
korshunov
Пытаюсь создать модуль, ограничивающий редактирование заказа в админке по отдельным условиям.
В текущей модульности не нахожу легкого способа вызвать до начала сохранения свою функцию, в ней определить, разрешать ли сохранение и в зависимости от результата выполнять сохранение или сообщать об отказе.

В аналогичной ситуации для бренда есть возможность расширить валидатор. А для заказов такого не видно.

Может, знатоки что подскажут...

Добавлено: 19.05.2021, 15:02
zyxer
Как вариант можно расшитить метод Okay\Admin\Helpers\BackendMainHelper::commonBeforeControllerProcedure() и в методе экстендера написать

Код: Выделить всё

if ($_GET['controller'] == 'OrderAdmin' && !empty($_POST)) {
    $SL = ServiceLocator::getInstance();
   
    /** @var BackendPostRedirectGet $postRedirectGet */
    $postRedirectGet = $SL->getService(BackendPostRedirectGet::class);
   
    $postRedirectGet->storeMessageError('update is forbidden');
    Response::redirectTo(Request::getCurrentUrl());
}