Commit Graph

40 Commits

Author SHA1 Message Date
Тимур Городецкий 9400f8546e feat: параметр source во внешней ссылке ТМЦ сохраняется в заявке
Внешняя система (напр. КПС) передаёт source — пишем его в новую колонку
SourceSystem рядом с SourcePositionId, чтобы по заявке было видно, откуда
она пришла и куда отвечать. Запоминание источника вынесено в отдельный
эффект: positionId/source/склад сохраняются и по ссылке без nomenclatureId.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 12:39:48 +05:00
Тимур Городецкий 1dda76caae test: разбор автора вынесен в модуль без SharePoint
Тест parseAuthorOwsUser падал: он импортировал myRequests.service, а тот
тянет PnPjs (ESM), который Jest проекта не разбирает. Функция вынесена в
parseAuthorOwsUser.ts без SharePoint-импортов, сервис берёт её оттуда.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 12:55:40 +05:00
Тимур Городецкий 182c497139 fix: служебный хвост в ФИО автора и исполнителя
Поисковое свойство AuthorOWSUSER хранит «почта | ФИО | служебный id и
claims-логин», а parseAuthorOwsUser брал как ФИО всё после первого
разделителя. Пока ФИО бралось из свойства Author, это было не видно;
после 13ba9c9 (ФИО из AuthorOWSUSER) хвост вылез в колонках «Автор» и
«Исполнитель». Теперь ФИО — ровно вторая часть строки.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 12:51:57 +05:00
Тимур Городецкий ab3593c170 feat: история согласования по кнопке в строке таблиц заявок
В каждой строке таблиц заявок — кнопка «История согласования»: окно с
той же лентой, что в карточке, без открытия самой заявки. Колонка
действий теперь есть всегда (история у всех строк, корзина — у своих
черновиков).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 12:42:42 +05:00
Тимур Городецкий b82008943f style: иконка «Все заявки» — список вместо людей
Tests / frontend-test (push) Successful in 1m20s
Иконка людей совпадала с иконкой категории «Отдел рекрутинга» и плитки
«Заявка на прием» и не говорила, что за кнопкой список заявок. Заменена
на menu на плитке, на кнопке формы и в боковом меню.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 16:29:29 +05:00
Тимур Городецкий be8177e8ae feat: столбец «Исполнитель» в таблицах заявок
Показывает, у кого заявка сейчас: ФИО и почта согласующего или
исполнителя текущего шага (несколько — параллельный шаг, при
делегировании — делегат), при доработке — инициатор. Есть в
«Инициированных», «Согласованных», «Выполненных мной» и «Все заявки»;
в очередях и «Доработке» держатель всегда сам пользователь.

Дочитывается только для видимой страницы, одним запросом на список
согласования. Группировка по партициям вынесена в approvalPartitionsFor
и общая с комментарием к решению.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 16:28:48 +05:00
Тимур Городецкий 13ba9c9e37 fix: в колонке «Автор» только создатель заявки
В «Все заявки», «Моих заявках» и «Поиске» ФИО бралось из поискового
свойства Author, где SharePoint перечисляет через «;» всех, кто правил
элемент. У заявки, которую поправил согласующий, в «Авторе» оказывалось
«Инициатор;Согласующий». Теперь ФИО берётся из AuthorOWSUSER — того же
поля «Создано», откуда и почта.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 16:28:37 +05:00
Тимур Городецкий d749bfae26 feat: фильтры и сортировка в таблицах заявок
Tests / frontend-test (push) Successful in 1m16s
Во всех разделах со списками заявок (На согласовании, На исполнении,
Доработка, Мои заявки, Все заявки):
- фильтры по типу, статусу и периоду даты создания, кнопка «Сбросить»;
- сортировка по клику на заголовок: номер (по числам), тип, дата, статус.

Без фильтров загрузка прежняя, постраничная. При активном фильтре или
сортировке загружается полный список раздела и обрабатывается в памяти,
иначе отсортировалась бы только текущая страница.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 14:45:02 +05:00
Тимур Городецкий 36922af942 fix: в «Моих заявках» исключены типы заявок с чужих сайтов (ct-forms-portal /sites/sed)
Tests / frontend-test (push) Successful in 1m15s
2026-09-28 09:53:29 +05:00
gorbenko.pavel 98be3980cb Feature/request type access all requests (#22)
Tests / frontend-test (push) Successful in 1m24s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/22
2026-09-25 11:48:09 +00:00
Тимур Городецкий 1b36813a07 fix: колонка «Номер» вместо «Код» в таблицах заявок
Tests / frontend-test (push) Successful in 1m13s
2026-09-25 10:16:04 +05:00
Тимур Городецкий 9b83c54491 feat: удаление своих заявок в статусе Черновик
Tests / frontend-test (push) Successful in 1m15s
2026-09-24 16:52:53 +05:00
Тимур Городецкий 17e7c634d5 feat: испытательный срок в подборе, дата приёма по приезду, HR-формы для тестировщиков
Tests / frontend-test (push) Successful in 1m19s
2026-09-24 16:10:54 +05:00
Тимур Городецкий 11eb127764 feat: доработал заявку перемещение тмц
Tests / frontend-test (push) Successful in 4m45s
2026-09-10 11:19:16 +05:00
gorbenko.pavel cc2efd8771 Заявка на услуги (#18)
Tests / frontend-test (push) Successful in 1m15s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/18
2026-09-01 12:48:41 +00:00
gorbenko.pavel ddce6b4f25 раздел «Отчёты» в боковом меню — скачивание отчёта по вакансиям (#17)
Tests / frontend-test (push) Successful in 1m15s
Пункт меню виден только заданному списку почт (Тришина, Городецкий,
Горбенко) — группы HR в SharePoint пока нет, добавили TODO завести
проверку по ней отдельно (reportsAccess.ts). Скрыт из меню совсем, а
не показан неактивным, и прямой переход по ?rpnav=reports у остальных
редиректит на «Новую заявку».

Раздел — форма периода (С/По) и кнопка «Скачать xlsx», дергает
GET api/reports/vacancies через тот же AadHttpClient, что и остальные
вызовы approval-route API. Имя файла собирается на фронте по формату
бэкенда (VacancyReportWorkbook.FileName), а не читается из
Content-Disposition — approval-route не объявляет заголовок в
Access-Control-Expose-Headers, браузер бы его не отдал.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/17
2026-08-31 11:00:18 +00:00
Тимур Городецкий 488d3b20da fix: в заголовке заявковк на чтение теперь показывает правильный номер 2026-08-26 16:38:10 +05:00
gorbenko.pavel df29d080ed Заявление на увольнение (#15)
Tests / frontend-test (push) Successful in 1m17s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/15
2026-08-26 07:07:03 +00:00
gorbenko.pavel 0ecb1ded78 чат по заявке через комментарии к строке списка (#14)
Tests / frontend-test (push) Successful in 1m15s
Обсуждение заявки поверх штатных комментариев SharePoint (PnPjs
item.comments) — без новых колонок и провижининга, права на переписку
раздаёт сам SharePoint по правам на элемент.

Встроено в ApproveFeature и EditFeature (единственные входы в просмотр
заявки для всех типов), поэтому доступно автору, всем согласующим
(включая уже решивших и ещё не дошедших до своего шага) и исполнителям,
а не только текущему шагу маршрута, как DecisionPanel.

Автора комментария всегда ставит реальная учётка — отладочная подмена
личности на запись в SharePoint не влияет, в UI есть предупреждение.

---------

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/14
2026-08-24 11:37:34 +00:00
gorbenko.pavel 131e302f67 Оптимизация списков (#12)
Tests / frontend-test (push) Successful in 1m18s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/12
2026-08-21 10:01:33 +00:00
gorbenko.pavel 7bd540e816 убрал перф логирование
Tests / frontend-test (push) Successful in 1m11s
2026-08-19 16:36:10 +05:00
gorbenko.pavel 6f789f8f1c Архивация списков (#9)
Tests / frontend-test (push) Successful in 1m12s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/9
2026-08-19 09:07:53 +00:00
gorbenko.pavel 3a71d0df1f Разные фиксы (#8)
Tests / frontend-test (push) Successful in 1m20s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/8
2026-08-18 08:45:42 +00:00
Тимур Городецкий e59f96ee06 Merge branch 'main' of http://git.tnsu.kz/timur.gorodetskiy/request-portal
Tests / frontend-test (push) Successful in 4m16s
2026-08-17 12:06:26 +05:00
Тимур Городецкий e6ca84827a feat: добавлено отображение статуса делеганта и того кто его назначил 2026-08-17 12:06:09 +05:00
gorbenko.pavel 364835eaf7 Обходной лист (#7)
Tests / frontend-test (push) Successful in 1m16s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/7
2026-08-17 05:43:38 +00:00
Тимур Городецкий c98a665611 refactor: миграция форм на ui-kit, удаление локальных дублей
Tests / frontend-test (push) Successful in 4m11s
2026-08-14 11:09:11 +05:00
Тимур Городецкий 8578653c16 feat: changed get time logic to approvers 2026-08-13 10:01:08 +05:00
gorbenko.pavel 3d52634677 дедупликация
Tests / frontend-test (push) Successful in 1m9s
2026-08-11 14:24:32 +05:00
gorbenko.pavel 70450aa66d Переработка списков (#5)
Tests / frontend-test (push) Successful in 1m25s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/5
2026-08-11 04:23:05 +00:00
gorbenko.pavel f6f4872a7c Тесты и анимация кнопок (#4)
Tests / frontend-test (push) Successful in 1m9s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/4
2026-08-07 11:53:48 +00:00
Тимур Городецкий 3a15d83ded --no-edit 2026-08-07 10:59:43 +05:00
Тимур Городецкий d2e137dfad feat: added notifications workflow 2026-08-07 10:35:28 +05:00
gorbenko.pavel df9d12622d Параллельные шаги (#3)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/3
2026-08-06 12:36:22 +00:00
timur.gorodetskiy 6acb22dd95 Search requests (#2)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/2
Co-authored-by: timur.gorodetskiy <timur.gorodetskiy@tnsu.kz>
Co-committed-by: timur.gorodetskiy <timur.gorodetskiy@tnsu.kz>
2026-08-06 09:59:07 +00:00
Тимур Городецкий 5bc80df11c feat: changed initial page layout 2026-08-04 17:40:46 +05:00
gorbenko.pavel 0aa0a60e40 Панель со списками заявок (#1)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/1
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tnsu.kz>
Co-committed-by: gorbenko.pavel <gorbenko.pavel@tnsu.kz>
2026-08-04 12:02:11 +00:00
Тимур Городецкий c2e785961b feat: implemented workpalcesetup form 2026-08-04 11:08:16 +05:00
Тимур Городецкий e6203e7093 fix: changed resolve endpoint contract form get to post 2026-08-03 14:37:42 +05:00
Тимур Городецкий 788e046ebe feat: changed folder structure for the secod dev 2026-08-03 12:06:48 +05:00