gorbenko.pavel
554f9b2528
правки
2026-08-27 15:21:34 +05:00
gorbenko.pavel
cfc2b393bd
Reminders: убрать Category из общей части DTO, добавить ReceiverEmail/ReceiverName, ограничить чтение испытательного срока последними партициями
...
Tests / frontend-test (pull_request) Successful in 45s
Tests / backend-test (pull_request) Successful in 1m54s
- ReminderDto: базовый класс сузился до ReceiverEmail/ReceiverName/Url;
RequestTypeId/RequestTypeName/RequestId/Status/RequestUniqueCode остались
только в ApprovalOverdueReminderDto — ProbationEndingReminderDto они не
нужны. Дискриминатор полиморфной сериализации ($type) больше не дублируется
отдельным enum-полем Category.
- ApprovalOverdueReminderDto: старый Email сохранён рядом с унаследованным
ReceiverEmail (то же значение) — контракт можно переключать постепенно.
- ApprovalRow/RowSelect: добавлен Title согласующего (TansuSiteApprover/Title)
— заполняет ReceiverName для просроченных шагов, когда он есть в SharePoint.
- EmployeeDirectorySnapshot.NameByEmail: обратный поиск ФИО руководителя по
email — заполняет ReceiverName для напоминаний об испытательном сроке без
лишнего похода в api.tnsu.kz (данные уже загружены для EmailOf).
- GetProbationEndingAsync: испытательный срок не длиннее 6 месяцев, поэтому
читаем только текущую и последнюю архивную партицию (не весь архив) и
фильтруем строки по HireDate не старше 6 месяцев — экономим лишние запросы
к SharePoint без потери актуальных заявок.
2026-08-27 14:12:39 +05:00
gorbenko.pavel
5d7503209a
ReminderDto: разделить на ApprovalOverdueReminderDto и ProbationEndingReminderDto
...
Абстрактный базовый класс + два sealed-наследника вместо одного DTO с
опциональными полями под обе категории — так специфичные для каждого
вида напоминания поля не путаются с полями другого вида. Полиморфная
сериализация System.Text.Json ([JsonPolymorphic]/[JsonDerivedType])
нужна, иначе список IReadOnlyList<ReminderDto> сериализовался бы только
по общим полям базового класса.
2026-08-27 12:31:45 +05:00
gorbenko.pavel
874e41990c
промежуточный коммит
Tests / frontend-test (pull_request) Successful in 47s
Tests / backend-test (pull_request) Successful in 1m34s
2026-08-26 17:17:47 +05:00
gorbenko.pavel
19a46b0df8
Правки ( #18 )
...
Tests / frontend-test (push) Successful in 46s
Tests / backend-test (push) Successful in 5m28s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/18
2026-08-26 07:08:16 +00:00
gorbenko.pavel
b86e126ceb
Веб-часть админки на всю ширину (edge-to-edge, как в request-portal) ( #17 )
...
Tests / frontend-test (push) Successful in 48s
Tests / backend-test (push) Successful in 2m0s
Канву SharePoint мы и раньше разжимали (тот же :global хак + supportsFullBleed
в манифесте), но содержимое упиралось в max-width: 1080px у .content и
центрировалось — визуально это читалось как «не открывается на всю ширину».
Переношу раскладку портала (RequestPortal.module.scss):
- корень .approvalAdmin — width: 100%, padding: 0;
- .shell больше не карточка: без рамки, тени, скруглений и overflow: hidden
(последний ломает sticky), align-items: flex-start, min-height: 78vh;
- .side — заливка $navy-800 на колонке (align-self: stretch), сам Sidebar
внутри sticky на 100vh: градиент не плывёт от высоты соседа, и под рейлом
на длинных таблицах нет белого провала, если sticky не включился;
- .content — сняты max-width и margin: auto, остались только отступы;
- мобильный брейкпоинт обновлён под новую схему: десктопные правила рейла
снимаются явно, иначе sticky+100vh спорил бы с position: fixed, который
ui-kit ставит drawer'у, при равной специфичности.
Разметка AdminApp.tsx не менялась — структура уже совпадала с портальной.
Co-Authored-By: Claude Opus 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/17
2026-08-25 08:46:08 +00:00
gorbenko.pavel
ba48ed1a0e
Несколько условий шага, объединяемых через И/ИЛИ ( #16 )
...
Tests / frontend-test (push) Successful in 47s
Tests / backend-test (push) Successful in 2m12s
<html>
<body>
<!--StartFragment-->
GetEmployeeByEmailAsync возвращает массив; новый HeadType.CompanyDirectors
--
<!--EndFragment-->
</body>
</html>[GetEmployeeByEmailAsync возвращает массив; новый HeadType.CompanyDirectors](http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/commit/572749b4d7cc11bc8e1ef4184a93f18a14b710ab )
---------
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/16
2026-08-25 07:04:44 +00:00
gorbenko.pavel
e4a6cb8167
Новые условия ( #15 )
...
Tests / frontend-test (push) Successful in 46s
Tests / backend-test (push) Successful in 1m48s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/15
2026-08-24 12:27:25 +00:00
gorbenko.pavel
a1fa862ed4
в деве сделал чтоб партиции не создавались
Tests / frontend-test (push) Successful in 45s
Tests / backend-test (push) Successful in 2m15s
2026-08-24 10:45:27 +05:00
gorbenko.pavel
aa97657721
обновлен reminders
Tests / frontend-test (push) Successful in 46s
Tests / backend-test (push) Successful in 3m57s
2026-08-20 11:49:54 +05:00
gorbenko.pavel
1ee1b71e3e
Редактирование заявок у конкретного пользователя ( #14 )
...
Tests / frontend-test (push) Successful in 45s
Tests / backend-test (push) Successful in 7m18s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/14
2026-08-19 12:58:07 +00:00
gorbenko.pavel
82512eb1db
Архивация списков ( #13 )
...
Tests / frontend-test (push) Successful in 44s
Tests / backend-test (push) Failing after 17m4s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/13
2026-08-19 09:08:36 +00:00
gorbenko.pavel
a2672042d7
ускорение reminders
Tests / frontend-test (push) Successful in 46s
Tests / backend-test (push) Successful in 2m7s
2026-08-18 10:58:34 +05:00
gorbenko.pavel
36fb71da02
RequestUniqueCode из данных заявк
Tests / frontend-test (push) Successful in 50s
Tests / backend-test (push) Successful in 2m9s
2026-08-18 10:46:28 +05:00
gorbenko.pavel
7bd4acb7a6
добавлен статус
Tests / frontend-test (push) Successful in 48s
Tests / backend-test (push) Successful in 3m4s
2026-08-17 14:33:51 +05:00
gorbenko.pavel
48ede1420d
Обходной лист ( #12 )
...
Tests / backend-test (push) Successful in 1m38s
Tests / frontend-test (push) Successful in 47s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/12
2026-08-17 05:43:52 +00:00
gorbenko.pavel
d076f4e98d
Sla ( #11 )
...
Tests / backend-test (push) Successful in 1m50s
Tests / frontend-test (push) Successful in 49s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/11
2026-08-13 04:44:08 +00:00
gorbenko.pavel
7f2aabbf29
докомиит
Tests / frontend-test (push) Successful in 44s
Tests / backend-test (push) Successful in 2m14s
2026-08-12 15:27:29 +05:00
gorbenko.pavel
185cc22e34
добавлен заведующим складом
Tests / frontend-test (push) Failing after 39s
Tests / backend-test (push) Successful in 1m59s
2026-08-12 15:26:49 +05:00
gorbenko.pavel
509f26de7b
поправлены дубли шагов
Tests / frontend-test (push) Successful in 46s
Tests / backend-test (push) Successful in 1m59s
2026-08-11 10:07:41 +05:00
gorbenko.pavel
0dedabc2ae
переименование колонок
Tests / frontend-test (push) Successful in 47s
Tests / backend-test (push) Successful in 1m41s
2026-08-10 15:14:57 +05:00
gorbenko.pavel
dc56f9a661
Переезд на метод портала с департаментами ( #10 )
...
Tests / frontend-test (push) Successful in 42s
Tests / backend-test (push) Successful in 2m19s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/10
2026-08-10 06:10:56 +00:00
gorbenko.pavel
a07338314a
Уведомления назначенным пользователям ( #9 )
...
Tests / frontend-test (push) Successful in 43s
Tests / backend-test (push) Successful in 1m54s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/9
2026-08-10 05:16:54 +00:00
gorbenko.pavel
11738b6e4a
правки по логике переключения
Tests / frontend-test (push) Successful in 45s
Tests / backend-test (push) Successful in 2m11s
2026-08-07 16:04:22 +05:00
gorbenko.pavel
1d45780294
Заглушка для департамента ( #8 )
...
Tests / frontend-test (push) Successful in 43s
Tests / backend-test (push) Successful in 2m57s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/8
2026-08-07 10:36:53 +00:00
gorbenko.pavel
0ffa032ade
Управление заявками ( #7 )
...
Tests / frontend-test (push) Successful in 43s
Tests / backend-test (push) Successful in 2m36s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/7
2026-08-07 09:49:38 +00:00
gorbenko.pavel
9d9f390548
теперь хранится id списка а не его название
Tests / test (push) Successful in 1m33s
2026-08-03 16:14:31 +05:00
gorbenko.pavel
c84c2a6cb4
изменение настроек
Tests / test (push) Successful in 2m58s
2026-07-31 18:05:18 +05:00
gorbenko.pavel
8034d5d0fe
Revert " https://tnsukz.sharepoint.com/sites/hrm "
...
Tests / test (push) Successful in 2m35s
This reverts commit fee84cef4d .
2026-07-31 17:41:26 +05:00
gorbenko.pavel
fee84cef4d
https://tnsukz.sharepoint.com/sites/hrm
Tests / test (push) Successful in 7m10s
2026-07-31 17:17:37 +05:00
gorbenko.pavel
13db1388a3
Новый виды условных шагов ( #6 )
...
Tests / test (push) Successful in 4m19s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/6
2026-07-31 12:15:15 +00:00
gorbenko.pavel
3e91ecdd96
Объединить .gitignore и актуализировать README
...
Tests / test (push) Successful in 5m18s
Правила из frontend/.gitignore перенесены в корневой .gitignore,
дублирующий файл удалён. README дополнен описанием SPFx frontend
(ApprovalAdmin), который ранее был ошибочно указан как отсутствующий.
2026-07-30 14:10:00 +05:00
gorbenko.pavel
2e4873bb4b
поправлен README.md
Tests / test (push) Successful in 2m42s
2026-07-30 12:45:23 +05:00
gorbenko.pavel
da158cfd84
Фронтенд для сервиса ( #5 )
...
Tests / test (push) Successful in 2m26s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/5
2026-07-30 06:11:24 +00:00
gorbenko.pavel
5476c1bab5
добавлен warning
Tests / test (push) Successful in 2m4s
2026-07-29 14:53:45 +05:00
gorbenko.pavel
a28a397205
теперь берем email из токена
Tests / test (push) Successful in 1m47s
2026-07-29 10:23:53 +05:00
gorbenko.pavel
13d929eb5b
валидация статуса
2026-07-29 10:19:38 +05:00
gorbenko.pavel
8f640d4324
Fix https ( #4 )
...
Tests / test (push) Successful in 1m31s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/4
2026-07-28 07:58:53 +00:00
gorbenko.pavel
6a6eb1a273
корсы добавлены ( #3 )
...
Tests / test (push) Successful in 1m30s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/3
2026-07-28 07:06:24 +00:00
admin
d37ab69962
added vs to .gitignore
Tests / test (push) Successful in 1m29s
2026-07-28 11:54:36 +05:00
admin
376291d3c0
scalar добавлен не только для разработки, но для прода
2026-07-28 11:52:54 +05:00
admin
43b4e3474c
Добавлено условие для проверки установки cifs-utils и rsync перед их установкой
Deploy to IIS / deploy (push) Successful in 2m58s
Tests / test (push) Successful in 20m7s
2026-07-28 10:27:57 +05:00
admin
598ac2c61f
Добавление рабочего процесса развертывания на IIS
Deploy to IIS / deploy (push) Failing after 3m7s
Tests / test (push) Successful in 24m14s
2026-07-28 10:02:28 +05:00
gorbenko.pavel
602554ac64
апи для работы с маршрутами согласования ( #2 )
...
Tests / test (push) Successful in 5m45s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/2
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tnsu.kz >
Co-committed-by: gorbenko.pavel <gorbenko.pavel@tnsu.kz >
2026-07-27 13:14:32 +00:00
gorbenko.pavel
bc05df3f73
Создание таблиц для цепочек подтверждения ( #1 )
...
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz >
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/1
2026-07-23 04:55:24 +00:00
gorbenko.pavel
b64f71f7ec
Создан бэкенд-боилерплейт по образцу tnsu-inventory
...
4-слойная архитектура (Api/Application/Domain/Infrastructure) на .NET 10
с MediatR и EF Core + PostgreSQL, без бизнес-логики. Добавлены
docker-compose, .env.example и README для локального запуска.
2026-07-22 14:25:58 +05:00