Разработка:storages/aclwarrantagents — различия между версиями
Ilya (обсуждение | вклад) м (→Подробный формат полей в таблице:) |
DShtolin (обсуждение | вклад) |
||
(не показано 9 промежуточных версий 4 участников) | |||
Строка 5: | Строка 5: | ||
===Таблица в базе данных=== | ===Таблица в базе данных=== | ||
− | ''aclwarrantagents'' - cправочник применения полномочий. | + | ''aclwarrantagents'' - cправочник применения полномочий. Подробные правила работы с полномочиями описаны в разделе: [[Разработка:Управление_доступом | Управление доступом]]. |
====Подробный формат полей в таблице:==== | ====Подробный формат полей в таблице:==== | ||
Строка 13: | Строка 13: | ||
* baseptype - тип объекта к которому будет привязано полномочие (например назначение на должность - storages) | * baseptype - тип объекта к которому будет привязано полномочие (например назначение на должность - storages) | ||
* basepcode - код объекта к которому будет привязано полномочие (например назначение на должность - appointments) | * basepcode - код объекта к которому будет привязано полномочие (например назначение на должность - appointments) | ||
− | * basetype - говорит о типе связи. Тип связи " | + | * basetype - говорит о типе связи. Тип связи "record" означает, что baseid сответствует номеру записи в baseptype/basepcode, по умолчанию record |
* baseid - id объекта к которому будет привязано полномочие (например назначение на должность) | * baseid - id объекта к которому будет привязано полномочие (например назначение на должность) | ||
* aclwarrantid - id доверенности в таблице [[Разработка:storages/aclwarrants | aclwarrants ]] | * aclwarrantid - id доверенности в таблице [[Разработка:storages/aclwarrants | aclwarrants ]] | ||
Строка 19: | Строка 19: | ||
* begindate - дата начала действия полномочия (unixtime) | * begindate - дата начала действия полномочия (unixtime) | ||
* duration - длительность действия полномочия (в секундах). Длительность действия полномочия вычисляется как begindate+duration. Длительность действия полномочия не должна превышать 1 января 2038 года (максимальное ограничение php). Если доверенность выдана бессрочно - то в поле duration значение "1 января 2038 - дата начала". Если дату начала действия доверенности (begindate) не удается определить - то устанавливается 0. Сумма begindate+duration не должна превышать 1 января 2038 года. Если begindate не указан то датой начала действия доверенности считается время указанное в поле datecreate. | * duration - длительность действия полномочия (в секундах). Длительность действия полномочия вычисляется как begindate+duration. Длительность действия полномочия не должна превышать 1 января 2038 года (максимальное ограничение php). Если доверенность выдана бессрочно - то в поле duration значение "1 января 2038 - дата начала". Если дату начала действия доверенности (begindate) не удается определить - то устанавливается 0. Сумма begindate+duration не должна превышать 1 января 2038 года. Если begindate не указан то датой начала действия доверенности считается время указанное в поле datecreate. | ||
− | * status | + | * status - список статусов указан в одноименном плагине рабочих процессов [[Разработка:workflows/aclwarrantagents | aclwarrantagents ]] |
− | * | + | * isdelegatable - наследование выбранного полномочия выбранному пользователю. По умолчанию 0 (можно передоверять). Значение 1 означает, что пользователь сам обладает этим полномочием, но доверить его никому не может. |
− | === | + | ==== Стандартные доверенности ==== |
+ | Эти доверенности создаются вместе с установкой плагина. Они не могут быть удалены, к ним не могут быть привязаны пользователи. Плагины, которые поддерживают права доступа должны привязывать свои права именно к этим доверенностям. | ||
+ | * Администратор (root) - Доверенность, обладающая всеми полномочиями. | ||
+ | * Учитель (teacher) - Доверенность, дающая доступ к преподаванию и просмотру учебных материалов, просмотру информации об успеваемости учеников | ||
+ | * Управляющий (manager) - Управление служебными данными: например изменение персональной информации учеников, регистрация новых учеников, и т. д. | ||
+ | * Ученик (student) - Доверенность, дающая доступ к просмотру информации о своем обучении. | ||
+ | * Методист (methodist) - Доверенность, дающая доступ к управлению учебным процессом (например изменение состава учебной программы) | ||
+ | * Законный представитель ученика (parent) - Доверенность, дающая право на просмотр информации об обучении ученика. | ||
− | + | ===Дополнительные методы=== | |
− | [[Категория: | + | |
+ | * '''get_default_roles()''' - получить список кодов стандартных доверенностей | ||
+ | |||
+ | =События= | ||
+ | В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином. | ||
+ | ====Перехватываемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые перехватывает этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |workflow | ||
+ | |persons | ||
+ | |person_not_active | ||
+ | |intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | ||
+ | |архивирует назначение доверенности авторизованного пользователя для переданной персоны (которая была переведена в не активный статус) | ||
+ | |- | ||
+ | |storage | ||
+ | |persons | ||
+ | |insert | ||
+ | |intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | ||
+ | |назначает доверенность авторизованного пользователя для переданной персоны (которая была создана) | ||
+ | |- | ||
+ | |workflow | ||
+ | |persons | ||
+ | |person_active | ||
+ | |intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | ||
+ | |назначает или активирует доверенность авторизованного пользователя для переданной персоны (которая была переведена в активный статус) | ||
+ | |- | ||
+ | |storage | ||
+ | |persons | ||
+ | |update | ||
+ | |intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | ||
+ | |в случае, если во время обновления записи переданной персоны было изменено подразделение - будет переназначена доверенность авторизованного пользователя | ||
+ | |- | ||
+ | |workflow | ||
+ | |contracts | ||
+ | |changestatus | ||
+ | |intvar обрабатывается как contractid - идентификатор учебного договора, для которого будет выполнена обработка | ||
+ | |если контракт переведен в активный статус - производится назначение доверенности студента по указанному договору, а если в неактивный - архивация назначения доверенности студента по указанному договору | ||
+ | |} | ||
+ | ====Генерируемые события==== | ||
+ | {| border="1" | ||
+ | |+ Таблица событий, которые генерирует этот плагин | ||
+ | ! Тип плагина | ||
+ | ! Код плагина | ||
+ | ! Код события | ||
+ | ! Доп. данные | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |colspan=5 align=center | ''Этот плагин не генерирует события'' | ||
+ | |} | ||
+ | |||
+ | =Задания= | ||
+ | |||
+ | {| border="1" | ||
+ | |+ Таблица заданий, которые выполняет этот плагин | ||
+ | ! Код задания | ||
+ | ! Дополнительный параметр | ||
+ | ! Пояснение | ||
+ | |- | ||
+ | |fix_user_warrantagent_departments | ||
+ | |идентификатор подразделения, в котором будет произведено исправление назначений доверенностей авторизованного пользователя персонам; пустое значение (empty) - все подразделения; | ||
+ | |Исправление некорректно назначенных доверенностей авторизованного пользователя для персон подразделения указанного подразделения; Исправляет ранее возможный случай (сделаны правки, которые должны исключить такие случаи в дальнейшем), когда доверенность назначалась в подразделении1, затем персона переносилась в подразделение2, новая доверенность не назначалась, а старая продолжала действовать; задание в таком случае обнаружит и заархивирует назначение доверенности авторизованного пользователя в подразделении1 и назначит новое в подразделении2; | ||
+ | |} | ||
+ | |||
+ | [[Категория:Управление доступом]] |
Текущая версия на 12:04, 25 марта 2022
Плагин | |
Название | aclwarrantagents |
Тип | storages |
Содержание
Таблица в базе данных
aclwarrantagents - cправочник применения полномочий. Подробные правила работы с полномочиями описаны в разделе: Управление доступом.
Подробный формат полей в таблице:
- id - номер записи
- departmentid - id подразделения из таблицы departments
- personid - id персоны, к которому применяется полномочие в таблице persons
- baseptype - тип объекта к которому будет привязано полномочие (например назначение на должность - storages)
- basepcode - код объекта к которому будет привязано полномочие (например назначение на должность - appointments)
- basetype - говорит о типе связи. Тип связи "record" означает, что baseid сответствует номеру записи в baseptype/basepcode, по умолчанию record
- baseid - id объекта к которому будет привязано полномочие (например назначение на должность)
- aclwarrantid - id доверенности в таблице aclwarrants
- datecreate - дата создания применения доверенности (unixtime)
- begindate - дата начала действия полномочия (unixtime)
- duration - длительность действия полномочия (в секундах). Длительность действия полномочия вычисляется как begindate+duration. Длительность действия полномочия не должна превышать 1 января 2038 года (максимальное ограничение php). Если доверенность выдана бессрочно - то в поле duration значение "1 января 2038 - дата начала". Если дату начала действия доверенности (begindate) не удается определить - то устанавливается 0. Сумма begindate+duration не должна превышать 1 января 2038 года. Если begindate не указан то датой начала действия доверенности считается время указанное в поле datecreate.
- status - список статусов указан в одноименном плагине рабочих процессов aclwarrantagents
- isdelegatable - наследование выбранного полномочия выбранному пользователю. По умолчанию 0 (можно передоверять). Значение 1 означает, что пользователь сам обладает этим полномочием, но доверить его никому не может.
Стандартные доверенности
Эти доверенности создаются вместе с установкой плагина. Они не могут быть удалены, к ним не могут быть привязаны пользователи. Плагины, которые поддерживают права доступа должны привязывать свои права именно к этим доверенностям.
- Администратор (root) - Доверенность, обладающая всеми полномочиями.
- Учитель (teacher) - Доверенность, дающая доступ к преподаванию и просмотру учебных материалов, просмотру информации об успеваемости учеников
- Управляющий (manager) - Управление служебными данными: например изменение персональной информации учеников, регистрация новых учеников, и т. д.
- Ученик (student) - Доверенность, дающая доступ к просмотру информации о своем обучении.
- Методист (methodist) - Доверенность, дающая доступ к управлению учебным процессом (например изменение состава учебной программы)
- Законный представитель ученика (parent) - Доверенность, дающая право на просмотр информации об обучении ученика.
Дополнительные методы
- get_default_roles() - получить список кодов стандартных доверенностей
События
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
Перехватываемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
workflow | persons | person_not_active | intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | архивирует назначение доверенности авторизованного пользователя для переданной персоны (которая была переведена в не активный статус) |
storage | persons | insert | intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | назначает доверенность авторизованного пользователя для переданной персоны (которая была создана) |
workflow | persons | person_active | intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | назначает или активирует доверенность авторизованного пользователя для переданной персоны (которая была переведена в активный статус) |
storage | persons | update | intvar обрабатывается как personid - идентификатор персоны, для которой будет выполнена обработка | в случае, если во время обновления записи переданной персоны было изменено подразделение - будет переназначена доверенность авторизованного пользователя |
workflow | contracts | changestatus | intvar обрабатывается как contractid - идентификатор учебного договора, для которого будет выполнена обработка | если контракт переведен в активный статус - производится назначение доверенности студента по указанному договору, а если в неактивный - архивация назначения доверенности студента по указанному договору |
Генерируемые события
Тип плагина | Код плагина | Код события | Доп. данные | Пояснение |
---|---|---|---|---|
Этот плагин не генерирует события |
Задания
Код задания | Дополнительный параметр | Пояснение |
---|---|---|
fix_user_warrantagent_departments | идентификатор подразделения, в котором будет произведено исправление назначений доверенностей авторизованного пользователя персонам; пустое значение (empty) - все подразделения; | Исправление некорректно назначенных доверенностей авторизованного пользователя для персон подразделения указанного подразделения; Исправляет ранее возможный случай (сделаны правки, которые должны исключить такие случаи в дальнейшем), когда доверенность назначалась в подразделении1, затем персона переносилась в подразделение2, новая доверенность не назначалась, а старая продолжала действовать; задание в таком случае обнаружит и заархивирует назначение доверенности авторизованного пользователя в подразделении1 и назначит новое в подразделении2; |