fix: автор заявления должен получать уведомления о решении (approve/reject)

- Удалено исключение employee.id из notify_status_change()
- Коммит c0b659f9 ошибочно исключал автора, предполагая что он видит результат на странице
- После удаления alert() в коммите 935c12a уведомление стало единственным способом информирования
- Теперь автор получает уведомление о одобрении/отклонении заявления
- Approver остается исключенным (он сам нажал кнопку, не нужно ему уведомление)

Fixes: Users not receiving notifications when their request is approved/rejected
This commit is contained in:
Игорь Надеин 2026-01-05 07:11:46 +03:00
parent f45a4383ce
commit de0caead6c

View File

@ -355,15 +355,14 @@ def notify_status_change(request_obj, old_status, new_status):
# ID пользователей которых НЕ нужно уведомлять при approve/reject # ID пользователей которых НЕ нужно уведомлять при approve/reject
exclude_ids = set() exclude_ids = set()
if new_status in ("approved", "rejected"): if new_status in ("approved", "rejected"):
# Не уведомляем автора заявки (он видит результат на странице) # ВАЖНО: Уведомляем автора заявки о решении - это единственный способ
exclude_ids.add(request_obj.employee.id) # информировать его, так как alert() был убран из UI (коммит 935c12a)
# Не уведомляем того кто принял решение (он сам нажал кнопку) # Не уведомляем только того кто принял решение (он сам нажал кнопку)
if request_obj.approver_id: if request_obj.approver_id:
exclude_ids.add(request_obj.approver_id) exclude_ids.add(request_obj.approver_id)
# 1. Автор - НЕ уведомляем при approved/rejected # 1. Автор - УВЕДОМЛЯЕМ всегда (даже при approved/rejected, это важно!)
if new_status not in ("approved", "rejected"): recipients_to_notify.add(request_obj.employee)
recipients_to_notify.add(request_obj.employee)
# 2. Основные получатели (исключая тех кто в exclude_ids) # 2. Основные получатели (исключая тех кто в exclude_ids)
recipients_to_notify.update( recipients_to_notify.update(