Разработка:im/departments

Материал из DOF
Перейти к: навигация, поиск
Плагин
Название departments
Тип im


Подразделения

Интерфейс позволяет производить действия с подразделениями системы. Подразделения - отдельные элементы Деканата, которые позволяют разграничить работу с контингентом, установить собственные настройки плагинов и права пользователей. Под подразделениями можно понимать такие элементы, как Институты и их Филиалы, Факультеты и Отделы.

Список подразделений

Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения.

В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования.

Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ).

Сохранение подразделения

Это действие доступно только для пользователей с правом редактирования.

Назначение полей:

  • Название - Название подразделения. Обязательное поле.
  • Кодовое название - Код подразделения. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную.
  • Руководитель - Руководитель структурного подразделения. По умолчанию не указан. Выбирается из списка существующих персон. Несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем.
  • Вышестоящий отдел - Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений. Обязательное поле.
  • Часовой пояс - в какой временной зоне находится подразделение. Необходимо для правильного расчета времени при составлении рассписания и др. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера (GMT+5). Обязательное поле.

Карточка отдела

Выводит всю информацию о структурном подразделении. Имеет те же поля, что и в форме создания/редактирования включая адрес подразделения. Также выводит список всех дочерних подразделения данного позразделения в древовидной структуре.

Планы

  • Добавить колонку "дочерние отделы". И в ней ссылка на список дочерних подразделений.
  • Добавить под названием родительского подразделения ссылки "перейти на уровень вверх" и "перейти на верхний уровень".
  • Выводить в табличку всю древовидную структуру дочрних подразделений, а не только один уровень.

API

Здесь описаны функции для работы со списком подразделений.

get_listing()

Параметры:

  • $limitfrom - с какой записи начинать вывод
  • $limitnum - сколько записей выводить на одной странице
  • $conds - Обьект, содержащий данные с условиями выборки, в формате поле_БД->значение по умолчанию пустой массив

Возвращаемые значения:

  • (array) массив записей из базы, или false в случае ошибки
showlist()

Возвращает html-код списка подразделений.

Параметры:

  • $list - массив записей из таблицы departments для отображения.

Возвращаемые значения:

  • (string) - html-код или false в случае ошибки
show_id()

Возвращает html-код отображения информации об одном подразделении

Параметры:

Возвращаемые значения:

  • (string) - html-код или false в случае ошибки