Разработка:im/departments
Плагин | |
Название | departments |
Тип | im |
Содержание
Подразделения
Интерфейс позволяет производить действия с подразделениями системы. Подразделения - отдельные элементы Деканата, которые позволяют разграничить работу с контингентом, установить собственные настройки плагинов и права пользователей. Под подразделениями можно понимать такие элементы, как Институты и их Филиалы, Факультеты и Отделы.
Список подразделений
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения.
В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования.
Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ).
Сохранение подразделения
Это действие доступно только для пользователей с правом редактирования.
Назначение полей:
- Название - Название подразделения. Обязательное поле.
- Кодовое название - Код подразделения. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную.
- Руководитель - Руководитель структурного подразделения. По умолчанию не указан. Выбирается из списка существующих персон. Несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем.
- Вышестоящий отдел - Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений. Обязательное поле.
- Часовой пояс - в какой временной зоне находится подразделение. Необходимо для правильного расчета времени при составлении рассписания и др. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера (GMT+5). Обязательное поле.
Карточка отдела
Выводит всю информацию о структурном подразделении. Имеет те же поля, что и в форме создания/редактирования включая адрес подразделения. Также выводит список всех дочерних подразделения данного позразделения в древовидной структуре.
Планы
- Добавить колонку "дочерние отделы". И в ней ссылка на список дочерних подразделений.
- Добавить под названием родительского подразделения ссылки "перейти на уровень вверх" и "перейти на верхний уровень".
- Выводить в табличку всю древовидную структуру дочрних подразделений, а не только один уровень.
API
Здесь описаны функции для работы со списком подразделений.
get_listing()
Параметры:
- $limitfrom - с какой записи начинать вывод
- $limitnum - сколько записей выводить на одной странице
- $conds - Обьект, содержащий данные с условиями выборки, в формате поле_БД->значение по умолчанию пустой массив
Возвращаемые значения:
- (array) массив записей из базы, или false в случае ошибки
showlist()
Возвращает html-код списка подразделений.
Параметры:
- $list - массив записей из таблицы departments для отображения.
Возвращаемые значения:
- (string) - html-код или false в случае ошибки
show_id()
Возвращает html-код отображения информации об одном подразделении
Параметры:
- $id - id записи в таблице departments
Возвращаемые значения:
- (string) - html-код или false в случае ошибки