fix: смена согласующего в админке «трогает» заявку, чтобы новый человек получил права (#28)
Права на заявку выдаёт бэкенд по вебхуку на изменение элемента списка данных. Массовая и одиночная замена писали только в список согласования, вебхук не приходил, и новый человек видел «Элемент не найден». Теперь после смены (и добавления шага) в заявку пишется её текущий RequestStatus — появляется новая версия элемента. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/28
This commit was merged in pull request #28.
This commit is contained in:
@@ -265,7 +265,11 @@ export const ManageByUserScreen: React.FC<IManageByUserScreenProps> = ({ api, di
|
||||
// Фаза 2: «чистые» строки — параллельно, друг от друга не зависят.
|
||||
const replaced = await mapWithLimit(
|
||||
clean,
|
||||
row => requestManage.reassignApprover(row, row.id, email, position),
|
||||
row =>
|
||||
requestManage.reassignApprover(row, row.id, email, position, {
|
||||
ticketId: row.ticketId,
|
||||
dataListId: row.listId
|
||||
}),
|
||||
{ onSettled: advanceProgress }
|
||||
);
|
||||
replaced.forEach(result => {
|
||||
|
||||
@@ -433,7 +433,10 @@ export const ManageRequestsScreen: React.FC<IManageRequestsScreenProps> = ({ api
|
||||
// SharePoint, и параллельные update по одному элементу списка могут
|
||||
// затереть друг друга (последний выигрывает).
|
||||
return requestManage
|
||||
.reassignApprover(matrix, rowId, email, position)
|
||||
.reassignApprover(matrix, rowId, email, position, {
|
||||
ticketId: matrix.request.id,
|
||||
dataListId: matrix.request.listId
|
||||
})
|
||||
.then(() => requestManage.updateRowSla(matrix, rowId, slaHours, askOverdueReason))
|
||||
.then(() => {
|
||||
const found = findEmployeeByEmail(employees.items, email);
|
||||
@@ -507,7 +510,7 @@ export const ManageRequestsScreen: React.FC<IManageRequestsScreenProps> = ({ api
|
||||
setMatrix({ ...matrix, rows: [...matrix.rows, ghostRow] });
|
||||
|
||||
requestManage
|
||||
.addRow(matrix, matrix.request.id, phase, order, initialStatus, email, position, false)
|
||||
.addRow(matrix, matrix.request.id, phase, order, initialStatus, email, position, false, matrix.request.listId)
|
||||
.then(() => reloadMatrix(true))
|
||||
.catch((e: Error) => {
|
||||
setMatrix(previous);
|
||||
|
||||
Reference in New Issue
Block a user