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

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

korshunov
korshunov
Репутация: 90
Сообщения: 1439
Зарегистрирован: 03.12.2015
С нами: 5 лет 6 месяцев
Skype

Сообщение #1 korshunov » 19.05.2021, 09:33

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

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

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

zyxer M
zyxer M
Возраст: 29
Репутация: 76
Сообщения: 414
Зарегистрирован: 03.02.2016
С нами: 5 лет 4 месяца
Откуда: Днепр

Сообщение #2 zyxer » 19.05.2021, 15:02

Как вариант можно расшитить метод 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());
}
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя