Разработка:im/departments — различия между версиями
(→Events) |
|||
Строка 28: | Строка 28: | ||
Выводит всю информацию о структурном подразделении. Также выводит список всех дочерних подразделения данного подразделения в древовидной структуре. | Выводит всю информацию о структурном подразделении. Также выводит список всех дочерних подразделения данного подразделения в древовидной структуре. | ||
+ | |||
+ | ===События=== | ||
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
+ | |||
+ | ====Перехватываемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые перехватывает этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | | departments | ||
+ | | storage | ||
+ | | insert | ||
+ | | | ||
+ | | Сбрасывается кеш списка подразделений | ||
+ | |- | ||
+ | | departments | ||
+ | | storage | ||
+ | | update | ||
+ | | | ||
+ | | Сбрасывается кеш списка подразделений | ||
+ | |- | ||
+ | | obj | ||
+ | | im | ||
+ | | get_object_url | ||
+ | | | ||
+ | | Возвращается ссылка на объект | ||
+ | |} | ||
+ | |||
+ | ====Генерируемые события==== | ||
+ | - | ||
== API == | == API == | ||
Строка 87: | Строка 121: | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
* (array) - Массив для добавления в select список | * (array) - Массив для добавления в select список | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 10:24, 2 марта 2018
Плагин | |
Название | departments |
Тип | im |
Содержание
Подразделения
Интерфейс позволяет производить действия с подразделениями системы. Подразделения - отдельные элементы Деканата, которые позволяют разграничить работу с контингентом, установить собственные настройки плагинов и права пользователей. Под подразделениями можно понимать такие элементы, как Институты и их Филиалы, Факультеты и Отделы.
Список подразделений
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения. В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования. Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ).
Форма сохранения подразделения
Форма сохранения подразделения приспособлена под включение на любую страницу системы и работает с системой потока сообщений Деканата.
Назначение полей:
- Название - Название подразделения. Обязательное поле.
- Код подразделения - Обязательное поле. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную(транслитерация первых 10 символов названия и добавление случайного номера).
- Руководитель - Необязательное поле. Руководитель структурного подразделения. По-умолчанию не указан. Выбирается из списка существующих персон и несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем.
- Вышестоящий отдел - Обязательное поле. Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений.
- Часовой пояс - Обязательное поле. Временная зона подразделения. Необходимо для правильного расчета времени при составлении расписания и др. действий в системе. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера.
Карточка отдела
Выводит всю информацию о структурном подразделении. Также выводит список всех дочерних подразделения данного подразделения в древовидной структуре.
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
departments | storage | insert | Сбрасывается кеш списка подразделений | |
departments | storage | update | Сбрасывается кеш списка подразделений | |
obj | im | get_object_url | Возвращается ссылка на объект |
Генерируемые события
-
API
Методы интерфейса подразделений
get_listing()
Параметры:
- $limitfrom - с какой записи начинать вывод
- $limitnum - сколько записей выводить на одной странице
- $conds - Обьект, содержащий данные с условиями выборки, в формате поле_БД->значение по умолчанию пустой массив
Возвращаемые значения:
- (array) массив записей из базы, или false в случае ошибки
showlist($list, $addvars, $options = [])
Возвращает HTML-код таблицы подразделений
Параметры:
- (array) $list - Массив подразделений из справочника departments.
- (array) $addvars - Массив GET-параметров для передачи по ссылкам.
- (array) $options - Массив дополнительных параметров отображения
Возвращаемые значения:
- (string) - HTML-код таблицы подразделений
show_id()
Возвращает HTML-код отображения информации об одном подразделении
Параметры:
- $id - id записи в таблице departments
Возвращаемые значения:
- (string) - HTML-код или false в случае ошибки
get_html_link($id, $withcode = false)
Возвращает HTML-код отображения информации об одном подразделении
Параметры:
- (int)$id - ID записи в таблице departments
- (bool)$withcode - Требуется код подразделения в названии ссылки
Возвращаемые значения:
- (string) - HTML-строка со ссылкой на подразделение или пустая строка в случае ошибки
get_departments_select_options($parentdep = 0, $options = [])
Возвращает список доступных подразделений для отображения в селекте. Метод является рекурсивным и кеширует список подразделений. Кеш сбрасывается при любом CrUD действии для актуализации данных.
Параметры:
- (int)$parentdep - Подразделение, от которого начинается сбор массива
- (array)$options - Массив опций сбора данных
['delimiter'] - Разделитель для уровней иерархии. По - умолчанию '-' ['statuses'] - Массив статусов в виде ['status1', 'status2']. По-умолчанию - actual метастатус ['access_callback'] - Функция дополнительной проверки прав доступа к подразделению
Возвращаемые значения:
- (array) - Массив для добавления в select список