Разработка: workflows/tasks — различия между версиями
(Новая страница: «{{Infobox_Plugin | name = tasks | type = workflows }} =workflow/tasks - Статусы задач= Плагин рабочих процессов предназна...») |
|||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 6: | Строка 6: | ||
Плагин рабочих процессов предназначенный для смены статусов задач. | Плагин рабочих процессов предназначенный для смены статусов задач. | ||
Работает в паре с модулем storage/tasks. | Работает в паре с модулем storage/tasks. | ||
− | Позволяет организовать смену статуса | + | Позволяет организовать смену статуса задач в зависимости от текущего статуса. |
+ | |||
+ | ==Права плагина== | ||
+ | * changestatus - право на смену статуса объектов | ||
+ | * changestatus/owner - право на смену статуса своих объектов | ||
==Возможные статусы:== | ==Возможные статусы:== | ||
− | * | + | * Активна (active) - активная задача. |
− | * | + | * Заморожена (suspend) - задача заморожена. |
− | * | + | * Просрочена (failed) - задача не была завершена вовремя. |
− | * | + | * Завершена (completed) - задача завершена. |
− | * | + | * Удалена (deleted) - задача удалена. |
==Метастатусы== | ==Метастатусы== | ||
− | * Активный: | + | * Активный: active |
− | * Актуальный: | + | * Актуальный: active, suspend |
− | * Реальный: | + | * Реальный: active, suspend, failed, completed |
* Мусорный: deleted | * Мусорный: deleted | ||
Строка 24: | Строка 28: | ||
Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу. | Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу. | ||
− | === | + | === Активна === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
− | * | + | * Заморожена |
− | * | + | * Просрочена |
− | * | + | * Завершена |
− | * | + | * Удалена |
− | |||
− | === | + | === Заморожена === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
− | * | + | * Активна |
− | * | + | * Удалена |
− | |||
− | |||
− | === | + | === Просрочена === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
− | * | + | * Удалена |
− | |||
− | |||
− | |||
− | === | + | === Завершена === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
− | * | + | * Удалена |
− | |||
− | |||
− | |||
− | === | + | === Удалена === |
Это конечный статус. | Это конечный статус. | ||
Строка 95: | Строка 90: | ||
==== init() ==== | ==== init() ==== | ||
− | Запускается при вставке в Базу Данных новой записи. Автоматически назначает добавленной записи статус " | + | Запускается при вставке в Базу Данных новой записи. Автоматически назначает добавленной записи статус "Активна" (active). |
''Аргументы:'' | ''Аргументы:'' | ||
Строка 111: | Строка 106: | ||
|- | |- | ||
| storage | | storage | ||
− | | | + | | tasks |
| insert | | insert | ||
− | | Событие добавления записи, произведем инициализацию объекта - добавим начальный статус | + | | Событие добавления записи, произведем инициализацию объекта - добавим начальный статус active |
|- | |- | ||
| storage | | storage | ||
− | | | + | | tasks |
| soft_delete | | soft_delete | ||
| Событие мягкого удаления записи, произведем смену статуса объекта на deleted | | Событие мягкого удаления записи, произведем смену статуса объекта на deleted | ||
|} | |} |
Текущая версия на 15:17, 11 декабря 2014
Плагин | |
Название | tasks |
Тип | workflows |
Содержание
workflow/tasks - Статусы задач
Плагин рабочих процессов предназначенный для смены статусов задач. Работает в паре с модулем storage/tasks. Позволяет организовать смену статуса задач в зависимости от текущего статуса.
Права плагина
- changestatus - право на смену статуса объектов
- changestatus/owner - право на смену статуса своих объектов
Возможные статусы:
- Активна (active) - активная задача.
- Заморожена (suspend) - задача заморожена.
- Просрочена (failed) - задача не была завершена вовремя.
- Завершена (completed) - задача завершена.
- Удалена (deleted) - задача удалена.
Метастатусы
- Активный: active
- Актуальный: active, suspend
- Реальный: active, suspend, failed, completed
- Мусорный: deleted
Маршруты статусов
Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу.
Активна
Возможные переходы ИЗ этого статуса:
- Заморожена
- Просрочена
- Завершена
- Удалена
Заморожена
Возможные переходы ИЗ этого статуса:
- Активна
- Удалена
Просрочена
Возможные переходы ИЗ этого статуса:
- Удалена
Завершена
Возможные переходы ИЗ этого статуса:
- Удалена
Удалена
Это конечный статус.
API
get_list()
Получить список всех возможных статусов для проводки
Аргументы:
- (нет)
Возвращаемые значения:
- Массив, со списком всех возможных статусов в формате "Обозначение" => "Название статуса"
get_name()
Получить название статуса по его обозначению в Базе Данных
Аргументы:
- (string) $status - обозначение статуса латинскими буквами
Возвращаемые значения:
- (string|bool) - имя этого статуса, либо false, если он не обнаружен в списке допустимых
get_available()
Получить список статусов, в которые может перейти объект.
Аргументы:
- $id - id объекта в таблице
Возвращаемые значения:
- (array|bool) - массив возможных состояний в формате ('Обозначение' => 'Название статуса') или false в случае когда запись не найдена. В случае, когда переход из этого статуса невозможен - возвращается пустой массив.
change()
Сменить статус на указанный.
Аргументы:
- (int) $id - id объекта в Базе Данных
- (string) $status - обозначение статуса латинскими буквами
- (array) $opt - Массив, где содержатся дополнительные параметры для смены статуса. По умолчанию null.
Возвращаемые значения:
- (bool) true - если статус удалось изменить, или false в случае ошибки
При обращении к функции change() выполняются дополнительные действия, указанные выше, в разделе "Маршруты статусов". При каждом изменении статуса данные записываются в таблицу statushistory.
init()
Запускается при вставке в Базу Данных новой записи. Автоматически назначает добавленной записи статус "Активна" (active).
Аргументы:
- $id - id только что созданной записи в таблице
Возвращаемые значения:
- (bool) true если статус успешно назначен или false в случае ошибки
Перехватываемые события
Тип плагина | Код плагина | Код события | Пояснение |
---|---|---|---|
storage | tasks | insert | Событие добавления записи, произведем инициализацию объекта - добавим начальный статус active |
storage | tasks | soft_delete | Событие мягкого удаления записи, произведем смену статуса объекта на deleted |