Предупреждения резолва маршрута — на русском вместо имён enum
Tests / frontend-test (pull_request) Successful in 1m32s
Tests / backend-test (pull_request) Successful in 1m39s

В сообщениях «не найден руководитель типа DirectionHead» и в конфликте
ролей шага пользователь видел имена enum'ов. Теперь везде русские
названия из общего справочника StepLabels (его же использует выгрузка
маршрутов): «Не найден руководитель «Руководитель направления»: не
указан у инициатора в справочнике сотрудников». Для директора Tansu и
управляющего директора, которые берутся из настроек сервиса, —
«Не проставлен «…»: email не задан в настройках сервиса». Так же
исправлены ошибки о дубле шага с типом руководителя.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-10-16 10:39:55 +05:00
parent 08dc484d03
commit 547c51ca3c
5 changed files with 54 additions and 30 deletions
@@ -0,0 +1,32 @@
using Tnsu.ApprovalRoute.Domain.Enums;
namespace Tnsu.ApprovalRoute.Application.Common;
/// <summary>
/// Русские названия типов руководителя и ролей в проекте — для всего, что видит
/// человек: предупреждения резолва, ошибки валидации, выгрузка маршрутов. Имя
/// enum'а («DirectionHead») в тексте для пользователя недопустимо.
/// </summary>
public static class StepLabels
{
public static string Of(HeadType headType) => headType switch
{
HeadType.Chief => "Непосредственный руководитель",
HeadType.DirectionHead => "Руководитель направления",
HeadType.DirectorTansu => "Директор Tansu",
HeadType.ManagingDirectorTansu => "Управляющий директор Tansu",
HeadType.DepartmentHead => "Руководитель указанного отдела",
HeadType.CompanyDirectors => "Директора компаний инициатора",
_ => headType.ToString()
};
public static string Of(ProjectRole projectRole) => projectRole switch
{
ProjectRole.ProjectManager => "Руководитель проекта",
ProjectRole.Planner => "Планировщик",
ProjectRole.ManagerHSE => "Менеджер HSE",
ProjectRole.Security => "Безопасность",
ProjectRole.Keeper => "Заведующий склада",
_ => projectRole.ToString()
};
}