fix: внес изменения в заявках рекрутинга от 22.09.2026
Tests / frontend-test (push) Successful in 1m19s

This commit is contained in:
Тимур Городецкий
2026-09-22 12:38:40 +05:00
parent b6708a7e72
commit 64f53b7814
35 changed files with 836 additions and 124 deletions
@@ -123,6 +123,23 @@ export class ApproverService {
emitRequestsChanged();
}
/**
* Удалить ЕЩЁ НЕ РЕШЁННЫЙ шаг маршрута (статус «Ждёт очереди») — отдельная от
* обычного решения возможность (см. routeEditRights.ts): не «я согласовал/
* отклонил свой шаг», а «этого шага в маршруте вообще быть не должно».
* Активный («На согласовании») или уже решённый шаг не трогаем — это уже
* история решений, удалять её нельзя даже тем, у кого есть это право.
*/
public async deleteQueuedStep(requestId: number, rowId: number): Promise<void> {
const rows = await this.approval.getForRequest(requestId);
const row = rows.filter((r) => r.id === rowId)[0];
if (!row || row.status !== REQUEST_STATUS.queued) {
throw new Error('Шаг уже в работе или решён — удалить нельзя.');
}
await this.approval.deleteRow(rowId);
emitRequestsChanged();
}
// Применяет решение: обновляет строку, продвигает очередь (на следующего
// согласующего внутри фазы либо на первого исполнителя, если фаза согласования
// только что завершилась целиком) и пересчитывает статус заявки.