Разработка:im/departments — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
Строка 8: Строка 8:
  
 
=== Список подразделений ===
 
=== Список подразделений ===
 +
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения.
 +
В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования.
 +
Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ).
  
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения.
 
  
В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования.
 
  
Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ).
+
=== Форма сохранения подразделения ===
  
=== Сохранение подразделения ===
+
Форма сохранения подразделения приспособлена под включение на любую страницу системы и работает с системой потока сообщений Деканата.  
Это действие доступно только для пользователей с правом редактирования.
 
  
 
'''Назначение полей:'''
 
'''Назначение полей:'''
 
* ''Название'' - Название подразделения. Обязательное поле.
 
* ''Название'' - Название подразделения. Обязательное поле.
* ''Кодовое название'' - Код подразделения. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную.
+
* ''Код подразделения'' - Обязательное поле. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную(транслитерация первых 10 символов названия и  добавление случайного номера).
* ''Руководитель'' - Руководитель структурного подразделения. По умолчанию не указан. Выбирается из списка существующих персон. Несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем.
+
* ''Руководитель'' - Необязательное поле. Руководитель структурного подразделения. По-умолчанию не указан. Выбирается из списка существующих персон и несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем.
* ''Вышестоящий отдел'' - Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений. Обязательное поле.
+
* ''Вышестоящий отдел'' - Обязательное поле. Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений.  
* ''Часовой пояс'' - в какой временной зоне находится подразделение. Необходимо для правильного расчета времени при составлении рассписания и др. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера (GMT+5). Обязательное поле.
+
* ''Часовой пояс'' - Обязательное поле. Временная зона подразделения. Необходимо для правильного расчета времени при составлении расписания и др. действий в системе. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера.  
  
 
=== Карточка отдела ===
 
=== Карточка отдела ===
  
Выводит всю информацию о структурном подразделении. Имеет те же поля, что и в форме создания/редактирования включая адрес подразделения. Также выводит список всех дочерних подразделения данного позразделения в древовидной структуре.
+
Выводит всю информацию о структурном подразделении. Также выводит список всех дочерних подразделения данного подразделения в древовидной структуре.
 +
 
 +
== API ==
  
=== Планы ===
+
Методы интерфейса подразделений
* Добавить колонку "дочерние отделы". И в ней ссылка на список дочерних подразделений.
 
* Добавить под названием родительского подразделения ссылки "перейти на уровень вверх" и "перейти на верхний уровень".
 
* Выводить в табличку всю древовидную структуру дочрних подразделений, а не только один уровень.
 
  
== API ==
 
Здесь описаны функции для работы со списком подразделений.
 
 
===== get_listing() =====
 
===== get_listing() =====
  
Строка 46: Строка 43:
 
* (array) массив записей из базы, или false в случае ошибки
 
* (array) массив записей из базы, или false в случае ошибки
  
===== showlist() =====
+
=====showlist($list, $addvars, $options = [])=====
Возвращает html-код списка подразделений.
+
Возвращает HTML-код таблицы подразделений
  
 
''Параметры:''
 
''Параметры:''
* $list - массив записей из таблицы [[Разработка:storages/departments|departments]] для отображения.
+
* (array) $list - Массив подразделений из справочника [[Разработка:storages/departments|departments]].
 +
* (array) $addvars - Массив GET-параметров для передачи по ссылкам.
 +
* (array) $options - Массив дополнительных параметров отображения
  
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (string) - html-код или false в случае ошибки
+
* (string) - HTML-код таблицы подразделений
  
 
===== show_id() =====
 
===== show_id() =====
Возвращает html-код отображения информации об одном подразделении
+
Возвращает HTML-код отображения информации об одном подразделении
  
 
''Параметры:''
 
''Параметры:''
Строка 62: Строка 61:
  
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (string) - html-код или false в случае ошибки
+
* (string) - HTML-код или false в случае ошибки
 +
 
 +
===== get_html_link($id, $withcode = false) =====
 +
Возвращает HTML-код отображения информации об одном подразделении
 +
 
 +
''Параметры:''
 +
* (int)$id - ID записи в таблице [[Разработка:storages/departments|departments]]
 +
* (bool)$withcode - Требуется код подразделения в названии ссылки
 +
 
 +
''Возвращаемые значения:''
 +
* (string) - HTML-строка со ссылкой на подразделение или пустая строка в случае ошибки

Версия 17:37, 28 декабря 2015

Плагин
Название departments
Тип im


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

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

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

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


Форма сохранения подразделения

Форма сохранения подразделения приспособлена под включение на любую страницу системы и работает с системой потока сообщений Деканата.

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

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

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

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

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-код отображения информации об одном подразделении

Параметры:

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

  • (string) - HTML-код или false в случае ошибки
get_html_link($id, $withcode = false)

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

Параметры:

  • (int)$id - ID записи в таблице departments
  • (bool)$withcode - Требуется код подразделения в названии ссылки

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

  • (string) - HTML-строка со ссылкой на подразделение или пустая строка в случае ошибки