- Approver (тот кто принял решение) не получает уведомление о своем действии - Исключены employee.id и approver_id из recipients при approve/reject - Упрощен signal create_request_notifications (убран лишний запрос в БД) - Теперь передается актуальный request_obj с установленным approver_id
32 lines
983 B
Python
32 lines
983 B
Python
from __future__ import annotations
|
||
|
||
from django.db.models import TextChoices
|
||
|
||
|
||
class RequestType(TextChoices):
|
||
"""Перечень типов заявлений (значение хранится в БД)."""
|
||
|
||
VACATION = "vacation", "Отпуск"
|
||
SICK_LEAVE = "sick_leave", "Больничный"
|
||
DAY_OFF = "day_off", "Отгул"
|
||
TRANSFER = "transfer", "Перевод"
|
||
DISMISSAL = "dismissal", "Увольнение"
|
||
OTHER = "other", "Другое"
|
||
|
||
|
||
class RequestStatus(TextChoices):
|
||
"""Статусы жизненного цикла заявления (значение хранится в БД)."""
|
||
|
||
DRAFT = "draft", "Черновик"
|
||
PENDING = "pending", "На рассмотрении"
|
||
APPROVED = "approved", "Одобрено"
|
||
REJECTED = "rejected", "Отклонено"
|
||
CANCELLED = "cancelled", "Отменено"
|
||
|
||
|
||
FINAL_STATUS = {
|
||
RequestStatus.APPROVED,
|
||
RequestStatus.REJECTED,
|
||
RequestStatus.CANCELLED,
|
||
}
|