обновлен reminders
This commit is contained in:
@@ -191,7 +191,7 @@ public sealed class ReminderService(
|
||||
reminders.Add(new ReminderDto(
|
||||
row.ApproverEmail!,
|
||||
(int)Math.Floor((now - deadline).TotalHours),
|
||||
BuildUrl(type, row),
|
||||
BuildUrl(type, row, listId),
|
||||
row.AskOverdueReason ?? type.AskOverdueReason ?? false,
|
||||
type.Id,
|
||||
type.Name,
|
||||
@@ -207,12 +207,17 @@ public sealed class ReminderService(
|
||||
/// Ссылка ведёт в тот раздел портала, которому принадлежит просроченный шаг:
|
||||
/// исполнителя незачем высаживать в «На согласовании». Сама заявка всё равно
|
||||
/// откроется панелью поверх раздела (rpmode=approve).
|
||||
///
|
||||
/// listId — server-relative url партиции (см. shared/routing.ts в
|
||||
/// request-portal, параметр rplist): без него архивная заявка открылась бы
|
||||
/// так, будто лежит в ТЕКУЩЕЙ партиции типа, и портал не нашёл бы её.
|
||||
/// </summary>
|
||||
private string BuildUrl(RequestType type, ApprovalRow row) =>
|
||||
private string BuildUrl(RequestType type, ApprovalRow row, string listId) =>
|
||||
options.Value.RequestUrlTemplate
|
||||
.Replace("{siteUrl}", type.SiteUrl!.TrimEnd('/'))
|
||||
.Replace("{pageUrl}", type.PageUrl)
|
||||
.Replace("{requestId}", row.TicketId.ToString())
|
||||
.Replace("{listId}", Uri.EscapeDataString(listId))
|
||||
.Replace("{nav}", row.Phase == ApprovalPhases.Execution ? "execution" : "approvals");
|
||||
|
||||
/// <summary>«Заявка на приём — данные» → «Заявка на приём — согласование».</summary>
|
||||
|
||||
Reference in New Issue
Block a user