Разработка:im/departments — различия между версиями
Johnleft (обсуждение | вклад) м (добавлен infobox) |
|||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 3: | Строка 3: | ||
| type = im | | type = im | ||
}} | }} | ||
− | == | + | |
− | + | == Подразделения == | |
− | === Список | + | Интерфейс позволяет производить действия с подразделениями системы. Подразделения - отдельные элементы Деканата, которые позволяют разграничить работу с контингентом, установить собственные настройки плагинов и права пользователей. Под подразделениями можно понимать такие элементы, как Институты и их Филиалы, Факультеты и Отделы. |
+ | |||
+ | === Список подразделений === | ||
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения. | Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения. | ||
+ | В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования. | ||
+ | Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ). | ||
− | |||
− | |||
− | + | === Форма сохранения подразделения === | |
− | + | Форма сохранения подразделения приспособлена под включение на любую страницу системы и работает с системой потока сообщений Деканата. | |
− | |||
'''Назначение полей:''' | '''Назначение полей:''' | ||
− | * ''Название'' - | + | * ''Название'' - Название подразделения. Обязательное поле. |
− | * '' | + | * ''Код подразделения'' - Обязательное поле. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную(транслитерация первых 10 символов названия и добавление случайного номера). |
− | * ''Руководитель'' - | + | * ''Руководитель'' - Необязательное поле. Руководитель структурного подразделения. По-умолчанию не указан. Выбирается из списка существующих персон и несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем. |
− | * ''Вышестоящий отдел'' - | + | * ''Вышестоящий отдел'' - Обязательное поле. Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений. |
− | * ''Часовой пояс'' - | + | * ''Часовой пояс'' - Обязательное поле. Временная зона подразделения. Необходимо для правильного расчета времени при составлении расписания и др. действий в системе. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера. |
+ | === Карточка отдела === | ||
+ | Выводит всю информацию о структурном подразделении. Также выводит список всех дочерних подразделения данного подразделения в древовидной структуре. | ||
− | + | ===События=== | |
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
− | + | ====Перехватываемые события==== | |
− | + | {| border="1" | |
− | + | |+ Таблица событий, которые перехватывает этот плагин | |
− | + | ! Тип плагина | |
− | + | ! Код плагина | |
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | | departments | ||
+ | | storage | ||
+ | | insert | ||
+ | | | ||
+ | | Сбрасывается кеш списка подразделений | ||
+ | |- | ||
+ | | departments | ||
+ | | storage | ||
+ | | update | ||
+ | | | ||
+ | | Сбрасывается кеш списка подразделений | ||
+ | |- | ||
+ | | obj | ||
+ | | im | ||
+ | | get_object_url | ||
+ | | | ||
+ | | Возвращается ссылка на объект | ||
+ | |} | ||
− | === | + | ====Генерируемые события==== |
+ | - | ||
− | + | == API == | |
− | + | Методы интерфейса подразделений | |
− | |||
− | |||
− | |||
− | |||
− | |||
===== get_listing() ===== | ===== get_listing() ===== | ||
Строка 55: | Строка 77: | ||
* (array) массив записей из базы, или false в случае ошибки | * (array) массив записей из базы, или false в случае ошибки | ||
− | ===== | + | =====showlist($list, $addvars, $options = [])===== |
− | Возвращает | + | Возвращает HTML-код таблицы подразделений |
''Параметры:'' | ''Параметры:'' | ||
− | * $ | + | * (array) $list - Массив подразделений из справочника [[Разработка:storages/departments|departments]]. |
+ | * (array) $addvars - Массив GET-параметров для передачи по ссылкам. | ||
+ | * (array) $options - Массив дополнительных параметров отображения | ||
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * | + | * (string) - HTML-код таблицы подразделений |
− | ===== | + | ===== show_id() ===== |
− | Возвращает | + | Возвращает HTML-код отображения информации об одном подразделении |
''Параметры:'' | ''Параметры:'' | ||
− | * $ | + | * $id - id записи в таблице [[Разработка:storages/departments|departments]] |
''Возвращаемые значения:'' | ''Возвращаемые значения:'' | ||
− | * (string) - | + | * (string) - HTML-код или false в случае ошибки |
− | ===== | + | ===== get_html_link($id, $withcode = false) ===== |
− | Возвращает | + | Возвращает HTML-код отображения информации об одном подразделении |
+ | |||
+ | ''Параметры:'' | ||
+ | * (int)$id - ID записи в таблице [[Разработка:storages/departments|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 список |
Текущая версия на 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 список