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

Материал из DOF
Перейти к: навигация, поиск
(Новая страница: «{{Infobox_Plugin | name = aclwarrantagents | type = storages }} ===Таблица в базе данных=== ''aclwarrantagents'' - cправочник приме...»)
 
 
(не показано 17 промежуточных версий 5 участников)
Строка 5: Строка 5:
  
 
===Таблица в базе данных===
 
===Таблица в базе данных===
''aclwarrantagents'' - cправочник применения полномочий.
+
''aclwarrantagents'' - cправочник применения полномочий. Подробные правила работы с полномочиями описаны в разделе: [[Разработка:Управление_доступом | Управление доступом]].
  
 
====Подробный формат полей в таблице:====
 
====Подробный формат полей в таблице:====
Строка 11: Строка 11:
 
* departmentid - id подразделения из таблицы [[Разработка:storages/departments | departments ]]
 
* departmentid - id подразделения из таблицы [[Разработка:storages/departments | departments ]]
 
* personid - id персоны, к которому применяется полномочие в таблице [[Разработка:storages/persons | persons ]]
 
* personid - id персоны, к которому применяется полномочие в таблице [[Разработка:storages/persons | persons ]]
* basetype - тип объекта к которому будет привязано полномочие (например назначение на должность)
+
* baseptype - тип объекта к которому будет привязано полномочие (например назначение на должность - storages)
 +
* basepcode - код объекта к которому будет привязано полномочие (например назначение на должность - appointments)
 +
* basetype - говорит о типе связи. Тип связи "record" означает, что baseid сответствует номеру записи в baseptype/basepcode, по умолчанию record
 
* baseid - id объекта к которому будет привязано полномочие (например назначение на должность)
 
* baseid - id объекта к которому будет привязано полномочие (например назначение на должность)
* warrantid - id доверенности  
+
* aclwarrantid - id доверенности в таблице [[Разработка:storages/aclwarrants | aclwarrants ]]
* aclcapabilityid - id полномочия
 
 
* datecreate - дата создания применения доверенности (unixtime)
 
* datecreate - дата создания применения доверенности (unixtime)
 
* begindate - дата начала действия полномочия (unixtime)
 
* begindate - дата начала действия полномочия (unixtime)
* duration - длительность действия полномочия (в секундах). 0 - бессрочно.
+
* duration - длительность действия полномочия (в секундах). Длительность действия полномочия вычисляется как begindate+duration. Длительность действия полномочия не должна превышать 1 января 2038 года (максимальное ограничение php). Если доверенность выдана бессрочно - то в поле duration значение "1 января 2038 - дата начала". Если дату начала действия доверенности (begindate) не удается определить - то устанавливается 0. Сумма begindate+duration не должна превышать 1 января 2038 года. Если begindate не указан то датой начала действия доверенности считается время указанное в поле datecreate.
* status (darft, active, archive)
+
* 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;