О платформе Войти
← К списку версий
v0.76.0 25.09.2026 MINOR
Мастер «Получить данные по проекту»: 4 шага вместо одной кнопки
Кнопка «Получить данные по проекту» на странице проекта заменена на мастер из 4 шагов (проверка данных → синхронизация → результат → готово), как мастер «Синхронизация всех людей». Направление данных показано явно на каждом шаге: импорт с платформы задач (task.ipd.test) в my.ipd в одну сторону, обратно ничего не отправляется и ничего не удаляется. Шаг 1 только читает данные (`SyncManager::previewProject`): показывает, что есть на платформе и что изменится, ничего не записывая. Шаг 2 импортирует задачи и шаги только этого проекта (`executeProject`), шаг 3 показывает счётчики и списки созданного/обновлённого, шаг 4 завершает мастер. Дополнительно исправлен подсчёт шагов в предпросмотре: шаги приходят вложенными в задачах, поэтому счётчики «шагов» на шаге 1 были всегда нулевыми.
Что сделано
  • Мастер вместо одной кнопки — на странице проекта (/admin/projects/{id}) кнопка «Получить данные по проекту» ведёт в мастер из 4 шагов (/admin/projects/{id}/sync-wizard, маршруты admin.projects.sync-wizard.*): 1 «Проверка данных», 2 «Синхронизация», 3 «Результат», 4 «Готово». Логика вынесена в трейт app/Http/Controllers/Admin/Concerns/AdminProjectSyncWizard.php, вьюха — resources/views/admin/projects/sync-wizard.blade.php (стили wz-* как у мастера людей).
  • Шаг 1 только чтение — предпросмотр (`SyncManager::previewProject`) забирает данные с платформы задач и считает их, но ничего не пишет: показаны площадка-источник, что сейчас на платформе (задачи, шаги, выполнено) и что изменится в my.ipd (новые задачи, новые шаги).
  • Шаг 2 импорт одного проекта — `SyncManager::executeProject` импортирует задачи и шаги только текущего проекта (по external_id проекта и названию проекта в выгрузке), актуализирует счётчики и last_synced_at; задачи других проектов не затрагиваются.
  • Направление данных — на шагах 1, 3 и 4 показан блок «Направление данных»: task.ipd.test → my.ipd, в одну сторону; обратно ничего не отправляется, существующие данные не удаляются.
  • Шаги 3–4 — результат показывает бейджи «Задач создано/обновлено», «Шагов создано/обновлено» и итог «Всего»; шаг 4 «Готово» завершает мастер, очищает сессию мастера и ведёт к проекту.
  • Исправление подсчёта шагов — выгрузка платформы отдаёт шаги вложенными в задачах («шаги»), верхнеуровневого ключа steps в ответе API нет, поэтому счётчики шагов в предпросмотре были всегда 0; теперь шаги собираются из задач, а «новые шаги» считаются по названию (шаги синхронизируются по названию, без external_id).
  • Версия платформы — тестовая версия поднята до v0.76.0 (.env, .env.example, config/app.php, VersionSeeder, README.md).
Результат
  • Администратор получает данные по проекту через понятный мастер: сначала видит, что и откуда придёт (ничего не изменяется), потом запускает импорт задач и шагов в одну сторону — с платформы задач в my.ipd, — и видит итог по типам.