← К списку версий
v0.14.3
29.07.2026
MINOR
Страница проектов: сортировка, источник, настройка полей; Автоматическая синхронизация по расписанию
Добавлено
- Сортировка по колонкам клик по заголовку таблицы (ID, Название, Клиент, Статус, Прогресс, Задач, Источник, Создан) сортирует по возрастанию/убыванию. Активная сортировка отмечена стрелкой ▲/▼.
- Колонка «Источник» показывает, откуда проект: «Локальный» (создан вручную) или «Синхронизирован» (импортирован с другой площадки). Цветовые метки: зелёный / фиолетовый.
- Кнопка «Настройка полей» выпадающий список с чекбоксами для скрытия/показа колонок. Выбор сохраняется в localStorage между сессиями.
- Переданы `sort_by`, `sort_dir`, `per_page` через `appends()` в пагинацию — параметры сохраняются при перелистывании страниц.
- `withCount('tasks')` — оптимизация для колонки «Задач» (без загрузки всей коллекции).
Изменено
- `AdminProjectController@index` — поддержка `sort_by` (id, name, client, status, progress_pct, tasks_count, source, created_at) и `sort_dir` (asc/desc). Сортировка по клиенту через подзапрос `ORDER BY (SELECT name FROM clients WHERE ...)`.
- `resources/views/admin/projects/index.blade.php` — полная переработка: динамические заголовки, чекбоксы колонок, скрипт localStorage, иконка глаза в кнопке.
Добавлено
- `app/Console/Commands/SyncRun.php` — Artisan command `sync:run`
- `routes/console.php` — `Schedule::command('sync:run')->hourly()->withoutOverlapping()`
- `config/logging.php` — канал `sync` (daily, 30 дней хранения)