Исходные данные:
Имеем статус заявок pending reminder с аналогичным типом - pending reminder (в отечественном переводе "Ожидает напоминания").
Перевести заявку в этот статус можно через пункт меню "Pending" ("Напоминание") в заявке, указав дату и время для этого напоминания.
Задача:
При наступлении времени напоминания автоматически менять статус заявки (например на "open").
Реализация:
Устанавливаем в настройках системы следующие параметры:
1. Ticket::PendingAutoStateType добавляем тип pending reminder (чтобы система могла автоматически обрабатывать заявки данного типа при наступлении заданного времени (по умолчанию там только тип pending auto).
2. Добавляем необходимый статус, который будет устанавливаться при наступлении заданного времени для заявок интересующего нас типа:
Ticket::StateAfterPending добавляем строку pending reminder -> open
3. Для более частой проверки истечения времени напоминания настраиваем планировщик для для данной задачи:
Daemon::SchedulerCronTaskManager::Task###TicketPendingCheck я поставил в */10 * * * * (проверять постоянно, раз в 10 минут)
Результат:
1. Заявки в статусе "ожидает напоминания" отображаются в Дайджесте в соответствующем виджете "Заявки с напоминанием".
2. По истечении времени напоминания статус заявки автоматически меняется на указанный (в нашем случае "открыта") и отображается в соответвующем виджете.
Смена статуса заявки при наступлении даты напоминания
Модератор: ykolesnikov