Заміна дії при створені запису

 Є чимало випадків, коли потрібно зробити багато функціоналу на створенні запису:

- додати складні перевірки

- заповнити поля, які потім не можуть змінюватись

- створити додаткові об'єкти складної структури

- униктуни рекурсивного створення

- нестандартна логіка створеня запису

А тепер давайте ускладнимо задачу: логіка має працювати лише при створені запису з інтерфейсу, а при створені кодом працює стандартна логіка.

<tree create="false">

Можна просто заборонити створювати запис через інтерфейс та викликати візард через окремий пункт меню і викликати кастомний візард.

Тут все непогано, окрім того, що користувач тепер має знати про цей пункт меню, а не використовувати кнопку, до якої звик.

Для додавання такої функціональності використовуємо модуль crnd_web_on_create_action

<tree class="on-create-action-name-my_module.my_custom_wizard_act_window">

Тобото після префіксу on-create-action-name- вказуєемо повний зовнішній ID дії, яку ми хочемо викликати. Причому це може бути взагалі будь-яка дія, прив'язана до будь-якої моделі.

Важливо, не забути поставити модуль в залежності, не переплутати префікс та вказати саме повний зовнішній ID дії.



Заміна дії при створені запису
Володимир Карабанов 20 жовтня 2022 р.
Поділитися цією публікацією
Теги
Архів
Як вивести додаткове поле, що містить переклад на іншу мову