Разработка:storages/departments — различия между версиями
Ilya (обсуждение | вклад) (→Подробный формат полей в таблице:) |
Ilya (обсуждение | вклад) |
||
| Строка 55: | Строка 55: | ||
* Получить список структурных подразделений, подчиняющихся сотруднику по id персоны | * Получить список структурных подразделений, подчиняющихся сотруднику по id персоны | ||
* Добавить структурное подразделение в базу данных (проверяет, чтобы в качестве главного было указано существующее структурное подразделение) | * Добавить структурное подразделение в базу данных (проверяет, чтобы в качестве главного было указано существующее структурное подразделение) | ||
| + | |||
| + | ===События=== | ||
| + | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
| + | ====Перехватываемые события==== | ||
| + | {| border="1" | ||
| + | |+ Таблица событий, которые перехватывает этот плагин | ||
| + | ! Тип плагина | ||
| + | ! Код плагина | ||
| + | ! Код события | ||
| + | ! Доп. данные | ||
| + | ! Пояснение | ||
| + | |- | ||
| + | |colspan=5 align=center | ''Этот плагин не перехватывает никаких событий'' | ||
| + | |} | ||
| + | ====Генерируемые события==== | ||
| + | {| border="1" | ||
| + | |+ Таблица событий, которые генерирует этот плагин | ||
| + | ! Тип плагина | ||
| + | ! Код плагина | ||
| + | ! Код события | ||
| + | ! Доп. данные | ||
| + | ! Пояснение | ||
| + | |- | ||
| + | |storage | ||
| + | |departments | ||
| + | |insert | ||
| + | |Массив, содержащий в поле "new" объект с данными для вставки в таблицу. | ||
| + | ''Пример:'' array('new' => $dataobject) | ||
| + | |Генерируется каждый раз при вставке новой записи в таблицу departments. | ||
| + | |- | ||
| + | |storage | ||
| + | |departments | ||
| + | |update | ||
| + | |Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи. | ||
| + | ''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new) | ||
| + | |Генерируется каждый раз при обновлении записи в таблице departments. | ||
| + | |- | ||
| + | |storage | ||
| + | |departments | ||
| + | |delete | ||
| + | |Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы | ||
| + | ''Пример:'' array('old' => $dataobject) | ||
| + | |Генерируется каждый раз при удалении записи из таблицы departments. | ||
| + | |} | ||
| + | |||
| + | [[Категория:Разработка]] | ||
| + | [[Категория:Плагины_storages]] | ||
Версия 17:22, 16 февраля 2010
| Плагин | |
| Название | departments |
| Тип | storages |
Содержание
Таблица в базе данных
departments - подразделения учебного заведения. Учебные потоки, дисциплины, учебные программы, подписки приписаны к одному из подразделений, для удобства организации учебного процесса в крупных учебных заведениях. При установке системы создается одно подразделение по умолчанию, к которому приписываются все объекты, если в использовании других подразделений нет необходимости.
Подробный формат полей в таблице:
- name - название
- code - кодовое обозначение (текстовое, необязательное, при указании кода проверяется уникальность)
- managerid - руководитель структурного подразделения в таблице persons
- leaddepid - вышестоящее структурное подразделение
- addressid - местоположение в таблице addresses
- zone - временная зона, действующая в подразделении
- status - список статусов указан в одноименном плагине рабочих процессов departments
Дополнительные методы:
departments_list()
Получает список всех структурных подразделений в алфавитном порядке
Аргументы: нет
Возвращаемые значения:
- (array) - массив записей из таблицы, где ключ - id подразделения, значение - название подразделения.
Структура работы:
- находим все существующие структурные подразделения.
- для каждого подразделения создаем запись в массиве.
- сортируем массив и возвращаем значение.
departments_list_subordinated()
Получает список всех подчиненных структурных подразделений по id структурного подразделения.
Аргументы:
- $id(int) - id подразделения, по умолчанию - головное (0).
- $spase(string) - знак отступа , по умолчанию - нет. (неиспользуемый параметр, необходим для рекурсии)
Возвращаемые значения:
- (array) список дочерних подразделений.
Структура работы:
- находим дочерние подразделения первого уровня для данного подразделения.
- для каждого подразделения:
- создаем запись в массиве, где ключ - id подразделения, значение - знак отступа+имя подразделения.
- находим дочерние подразделения для полученного подразделения.
- возвращаем результат.
Планы:
Дополнительные методы:
- Получить запись о первичного структурном подразделении, которому подчиняются все остальные. Руководителем первичного структурного подразделения является руководитель организации.
- Получить структурное подразделение по его коду
- Получить список подчиненных структурных подразделений первого уровня по id структурного подразделения
- Получить список структурных подразделений, подчиняющихся сотруднику по id персоны
- Добавить структурное подразделение в базу данных (проверяет, чтобы в качестве главного было указано существующее структурное подразделение)
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
| Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
|---|---|---|---|---|
| Этот плагин не перехватывает никаких событий | ||||
Генерируемые события
| Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
|---|---|---|---|---|
| storage | departments | insert | Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
Пример: array('new' => $dataobject) |
Генерируется каждый раз при вставке новой записи в таблицу departments. |
| storage | departments | update | Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
Пример: array('old' => $dataobject_old, 'new' => $dataobject_new) |
Генерируется каждый раз при обновлении записи в таблице departments. |
| storage | departments | delete | Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
Пример: array('old' => $dataobject) |
Генерируется каждый раз при удалении записи из таблицы departments. |