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

Материал из DOF
Перейти к: навигация, поиск
м (добавлен infobox)
Строка 3: Строка 3:
 
| type = im
 
| type = im
 
}}
 
}}
== Отделы ==
+
 
Этот интерфейс позволяет просматривать и редактировать информацию о структурных подразделениях.
+
== Подразделения ==
=== Список отделов ===
+
Интерфейс позволяет производить действия с подразделениями системы. Подразделения - отдельные элементы Деканата, которые позволяют разграничить работу с контингентом, установить собственные настройки плагинов и права пользователей. Под подразделениями можно понимать такие элементы, как Институты и их Филиалы, Факультеты и Отделы.
 +
 
 +
=== Список подразделений ===
 +
 
 
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения.
 
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения.
  
Пользователь попадает на эту страницу, только если у него есть право просматривать данные своего подразделения (в этом случае необходимо указать дополнительный параметр - id подразделения), либо имеет право видеть все подразделения.
+
В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования.
  
Если у пользователя есть право редактировать подразделения, то в последней строке таблицы с информацией вместо иконки просмотра появляется иконка редактирования, нажатие на которую отправляет пользователя на страницу редактирования учебной программы.
+
Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ).
  
Также, если указать дополнительный параметр leaddepid - id подразделения, страница выведет список всех дочерних подразделений указанного подразделения.
+
=== Сохранение подразделения ===
 
+
Это действие доступно только для пользователей с правом редактирования.
=== Создание и редактирование ===
 
Это действие доступно только для пользователей с правом редактирования подразделения.  
 
  
 
'''Назначение полей:'''
 
'''Назначение полей:'''
* ''Название'' - название подразделения. Обязательное поле.
+
* ''Название'' - Название подразделения. Обязательное поле.
* ''Кодовое название'' - код подразделения, обязательное поле. Не может быть создано двух подразделений с одинаковым кодом.
+
* ''Кодовое название'' - Код подразделения. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную.
* ''Руководитель'' - научный руководитель структурного подразделения. По умолчанию не указан. Выбирается из списка существующих персон.
+
* ''Руководитель'' - Руководитель структурного подразделения. По умолчанию не указан. Выбирается из списка существующих персон. Несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем.
* ''Вышестоящий отдел'' - какому подразделению подчиняется данное подразделение. По умолчанию стоит самое первое созданное подразделение. Выбирается из списка существующих подразделений. Может принимать значение - нет (штатная ситуация). Обязательное поле.
+
* ''Вышестоящий отдел'' - Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений. Обязательное поле.
 
* ''Часовой пояс'' - в какой временной зоне находится подразделение. Необходимо для правильного расчета времени при составлении рассписания и др. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера (GMT+5). Обязательное поле.
 
* ''Часовой пояс'' - в какой временной зоне находится подразделение. Необходимо для правильного расчета времени при составлении рассписания и др. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера (GMT+5). Обязательное поле.
 
 
 
Также имеет дополнительные поля адреса, которые скрыты. Если данные поля активны, то на подразделение создается/редактируется его адрес.
 
 
'''При создании/редактировании подразделения'''
 
* Поле "код предмета" должно быть уникальным и содержать латинские буквы и числа
 
'''При создании/редактировании адреса подразделения'''
 
* Индекс должен быть числовым.
 
* Если указывается улица, то необходимо указать ее тип.
 
  
 
=== Карточка отдела ===
 
=== Карточка отдела ===
Строка 54: Строка 45:
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
 
* (array) массив записей из базы, или false в случае ошибки
 
* (array) массив записей из базы, или false в случае ошибки
 
===== form() =====
 
Возвращает форму создания/редактирования подразделений с начальными данными
 
 
''Параметры:''
 
* $id - id подразделения в таблице [[Разработка:storages/departments|departments]], для редактирования которой вызывается форма. По умолчанию NULL (создается новое подразделение).
 
 
''Возвращаемые значения:''
 
* [[Разработка:moodleQuickForm|moodleQuickForm]] object - объект формы, с загруженными в нее исходными данными.
 
  
 
===== showlist() =====
 
===== showlist() =====

Версия 15:21, 17 декабря 2015

Плагин
Название 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 в случае ошибки