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
@@ -0,0 +1,26 @@
import { WebPartContext } from '@microsoft/sp-webpart-base';
import { getEmployeeOrganizations } from '../dictionary';
/** Отдел + организация согласующего — для колонок «Отдел»/«Организация» матрицы. */
export interface IApproverOrgInfo {
department: string;
organization: string;
}
/**
* Резолвер для useMatrixEditor: отдел и организация — ОДНИМ источником
* (Employee/ByEmail, тот же, что и «авто-Организация» в Vacation/UnpaidLeave/…),
* а не двумя разными API (иначе строка матрицы собиралась бы по кускам). Один
* сотрудник может числиться в нескольких организациях — берём первую запись,
* как и остальные формы с авто-подстановкой (см. shared/dictionary).
*
* email не найден в кадровом справочнике (404) или пуст — getEmployeeOrganizations
* отдаёт [], здесь это просто пустые отдел/организация, не ошибка матрицы.
*/
export function resolveApproverOrgInfo(context: WebPartContext) {
return async (email: string): Promise<IApproverOrgInfo> => {
const records = await getEmployeeOrganizations(context, email);
const first = records[0];
return { department: first?.section || '', organization: first?.company || '' };
};
}