# Контроллер действий пользователя

Контроллеры действий пользователя (далее - контроллер) предназначены для:

1. проверки прав пользователя на выполнение какого-либо действия (запуск маршрута, редактирование параметров и т.п.);
2. запроса подтверждения на выполнение действия (например, вызвать диалог с вопросом "Вы уверенны что хотите ...?");
3. записи сообщения в БД о действиях пользователя.

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

1. Тип сообщения.
2. Объект сообщения.
3. Текст сообщения.
4. Вопрос для подтверждения вызова панели редактирования параметров.

Как использовать эту информацию зависит от конкретного контроллера.
Контроллеры могут быть использованы в двух режимах:

1. Проверить права - Задать вопрос - Сохранить сообщение - Выполнить действие
2. Проверить права - Задать вопрос - Выполнить действие - Сохранить сообщение

Конкретный контроллер может поддерживать один или оба режима (смотри описание соответствующего компонента). Ответственность за использование "правильного" контроллера лежит на разработчике проекта.
.