Commit Graph
116 Commits
Author SHA1 Message Date
mirivladandQwen-Coder 21a836ef4d Fix: Организация - пользователи и группы
✅ Добавлен use User и use Group
✅ exclude_organization_id для поиска пользователей
✅ Исключение пользователей из текущей организации

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-01 08:35:38 +08:00
mirivladandQwen-Coder de64be24eb Feat: UI/UX организаций как в назначениях
✅ AJAX добавление/удаление пользователей
✅ AJAX добавление/удаление групп
✅ Modal редактирования организации
✅ Фильтрация GroupSearchController для организаций
✅ Счётчики обновляются без перезагрузки

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 16:57:26 +08:00
mirivladandQwen-Coder 7f19cedeee Fix: Правильная группировка where в UserSearchController
✅ where(function() {...}) для группировки условий
✅ organization_id фильтруется корректно

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 16:46:47 +08:00
mirivladandQwen-Coder 500ff03309 Fix: Общие группы могут добавлять любых пользователей
✅ Проверка organization_id только для групп организации
✅ Общие группы добавляют любых пользователей
✅ Разные placeholder для общих/организационных групп

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 16:44:31 +08:00
mirivladandQwen-Coder 98b0e7f9a9 Fix: Исправлено добавление пользователей в группы
✅ Проверка на дубликаты (не добавлять если уже в группе)
✅ Фильтрация поиска по организации группы
✅ UserSearchController фильтрует по organization_id
✅ Подсказка в modal для групп организации

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 15:57:39 +08:00
mirivladandQwen-Coder fff890e950 Fix: Исправлен маршрут groups.users.add
✅ Маршрут: POST /groups/{group}/users/add
✅ Контроллер принимает Group из маршрута
✅ JavaScript обновлён

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 15:21:50 +08:00
mirivladandQwen-Coder eb848ab06b Fix: Исправлен маршрут groups.update
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 15:18:22 +08:00
mirivladandQwen-Coder b456b9c589 Fix: Удалён дубликат метода update()
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 15:05:58 +08:00
mirivladandQwen-Coder 640a20ea4e Fix: Удалён дубликат метода edit()
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 15:04:35 +08:00
mirivladandQwen-Coder 7fa8fd9a64 Feat: UI/UX групп как в назначениях
✅ AJAX добавление/удаление пользователей
✅ Modal редактирования группы
✅ Список пользователей с кнопками
✅ Счётчик обновляется без перезагрузки

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 15:03:31 +08:00
mirivladandQwen-Coder ecdb8d10cb Fix: Временно отключена проверка test_results
✅ Таблица будет создана позже
✅ Пока всегда canEditCourse = true

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 09:52:14 +08:00
mirivladandQwen-Coder 95046fa59e Feat: Компромиссное редактирование назначений
✅ Проверка на начатые тесты перед редактированием
✅ Если тестов нет — можно менять курс и дату начала
✅ Если тесты есть — только дата окончания и заметка
✅ Предупреждение в modal

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 09:41:02 +08:00
mirivladandQwen-Coder 7da4b1a2cf Feat: Автооткрытие modal редактирования из списка
✅ При клике на ✏️ из списка → #edit в URL
✅ JavaScript открывает modal при загрузке
✅ Bootstrap 5 Modal API

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 09:37:48 +08:00
mirivladandQwen-Coder 932035f3e4 Fix: Добавлена кнопка редактирования в index
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 09:18:32 +08:00
mirivladandQwen-Coder ae5f09eedc Feat: AJAX для назначений + заметка + редактирование
✅ AJAX добавление через modals
✅ AJAX удаление без перезагрузки
✅ Заметка показывается если есть
✅ Modal редактирования (дата, заметка)
✅ Кнопка редактировать назначение

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 09:01:23 +08:00
mirivladandQwen-Coder cb87a76570 Fix: Маршрут show с {course} параметром
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 08:53:46 +08:00
mirivladandQwen-Coder 79d8dedb91 Feat: Группировка назначений курсов
✅ Группировка по курсу + датам в index
✅ Сводная статистика (пользователи/группы/организации)
✅ show с раздельными списками по типам
✅ Modals для быстрого добавления
✅ Удаление edit/update - управление через show

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 08:48:52 +08:00
mirivladandQwen-Coder 33c2ac527e Fix: Исправлена переменная $assignments в index.blade.php
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 08:42:26 +08:00
mirivladandQwen-Coder 90a49b0f37 Fix: Имя переменной $course_assignment вместо $assignment
✅ Исправлено Route Model Binding
✅ Параметр {course_assignment} в маршруте
✅ Переменная $course_assignment в контроллере
✅ Обновлены все view файлы

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-31 08:40:37 +08:00
mirivladandQwen-Coder d412d287c2 Feat: show и edit для назначений
✅ show.blade.php — просмотр назначения
✅ edit.blade.php — редактирование (период, статус, заметка)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 16:53:56 +08:00
mirivladandQwen-Coder fefe12367d Feat: Назначения с несколькими курсами
✅ tags-input для курсов (чёрные бейджи)
✅ CourseSearchController API
✅ Массовое создание назначений (курсы × получатели)
✅ Обновлён create.blade.php

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 16:31:02 +08:00
mirivladandQwen-Coder 81828de9a3 Feat: Назначения курсов с tags-input
✅ CourseAssignmentController (index, create, store)
✅ create.blade.php с тремя tags-input (пользователи/группы/организации)
✅ Разные цвета бейджей (зелёный/голубой/синий)
✅ UserSearchController API
✅ index.blade.php список назначений

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 16:06:02 +08:00
mirivladandQwen-Coder 064778b8aa Feat: Поддержка разных цветов бейджей в tags-input
✅ Параметр badge_color (primary, success, info, warning, danger, secondary, dark)
✅ CSS классы для всех цветов Bootstrap
✅ Обновлены addTag и загрузка существующих тегов

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 15:46:04 +08:00
mirivladandQwen-Coder 2e1fdee017 Feat: searchable-select для организации в пользователях
✅ edit.blade.php — выбор организации через searchable-select
✅ create.blade.php — выбор организации через searchable-select
✅ Контроллер не передаёт $organizations

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 15:43:14 +08:00
mirivladandQwen-Coder f8fc503177 Feat: Упрощён просмотр групп пользователя
✅ Только бейджи с названиями групп
✅ Без поля поиска и удаления
✅ Отображение организации в скобках

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 14:32:40 +08:00
mirivladandQwen-Coder 0c35e31d4c Fix: Исправлено добавление существующих тегов
✅ Создаём бейджи напрямую без addTag()
✅ selectedTags.add() перед созданием бейджа

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 14:30:41 +08:00
mirivladandQwen-Coder b848b69294 Feat: Добавлена подробная отладка tags-input
✅ console.log для всех этапов инициализации
✅ Логирование загрузки существующих тегов
✅ Логирование API запросов и ответов

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 14:28:00 +08:00
mirivladandQwen-Coder 3b390c8358 Fix: Загрузка существующих групп при инициализации
✅ API возвращает группы при пустом запросе с user_id
✅ Фильтрация по названию только если query не пустой
✅ Компонент передаёт user_id при загрузке тегов

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 14:18:11 +08:00
mirivladandQwen-Coder 3dfe1e5a2c Fix: Сохранение и загрузка групп пользователя
✅ $user->load('groups') для eager loading
✅ Проверка !empty(trim()) для groups поля
✅ Не очищаем группы если поле пустое
✅ Загрузка существующих тегов при инициализации

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 14:12:16 +08:00
mirivladandQwen-Coder df8172070a Fix: TomSelect addOption для загруженных групп
✅ this.addOption(item) для каждой группы из API
✅ Опции теперь доступны в this.options

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 14:08:58 +08:00
mirivladandQwen-Coder 964a0fd9e1 Fix: Убран @can('update', Group::class) из show.blade.php
✅ Исправлена ошибка Policy
✅ Обновлён show.blade.php с tags-input
✅ Полная очистка кэша

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 13:42:30 +08:00
mirivladandQwen-Coder c5a5280f56 Fix: Tags Input - полное исправление
✅ API не возвращает группы при пустом запросе
✅ onItemAdd вместо onChange для добавления тегов
✅ Очистка поля после добавления тега
✅ Фильтрация по организации пользователя

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 13:14:53 +08:00
mirivladandQwen-Coder 5689604004 Fix: onChange + фильтрация групп
✅ this.options[value] вместо select.options[value]
✅ Проверка data перед addTag
✅ Исправлена группировка whereNull + orWhere в API

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 13:08:11 +08:00
mirivladandQwen-Coder 6a725d27de Fix: JSON экранирование в tags-input
✅ {!! json_encode() !!} вместо {{ json_encode() }}
✅ Правильный JavaScript формат Set

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 13:05:06 +08:00
mirivladandQwen-Coder 244dcdb5c9 Fix: Blade директива на одной строке с JS
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 13:01:13 +08:00
mirivladandQwen-Coder 74c115b7f5 Fix: Исправлена Blade директива в tags-input
✅ @if() → @if(isset() && )
✅ Очистка view кэша

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 12:47:30 +08:00
mirivladandQwen-Coder be44d09169 Fix: Фильтрация групп + исправление GroupPolicy
✅ API groups/search принимает user_id параметр
✅ Фильтр: общие + группы организации ИЛИ только общие
✅ tags-input передаёт user_id в API
✅ Очистка кэша для GroupPolicy

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 12:44:47 +08:00
mirivladandQwen-Coder 11c5dcaf48 Feat: Tags Input компонент для групп (WordPress style)
✅ Новый компонент x-tags-input
✅ Поле ввода + бейджи ниже
✅ Typeahead поиск групп
✅ Крестик для удаления
✅ Синие бейджи как в WordPress
✅ Отдельный компонент (не влияет на searchable-select)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 12:23:05 +08:00
mirivladandQwen-Coder 4b84528e52 Feat: Теги групп как в WordPress
✅ Синие бейджи с названиями групп
✅ Крестик для удаления (краснеет при наведении)
✅ CSS стили для TomSelect
✅ Компонент для мультивыбора

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 12:15:52 +08:00
mirivladandQwen-Coder 44aa50fc18 Fix: Исправлено имя маршрута api.groups.search
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 12:10:02 +08:00
mirivladandQwen-Coder 1f99664d19 Feat: Searchable Select для групп пользователя
✅ TomSelect с мультивыбором (теги как в WordPress)
✅ API /api/groups/search для поиска групп
✅ Обновлён edit.blade.php пользователя
✅ Обновлён show.blade.php пользователя
✅ Компонент поддерживает multiple=true

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 12:07:07 +08:00
mirivladandQwen-Coder 7782c59f5b Fix: UX улучшения по замечаниям
✅ 1. Ссылка 'Все пользователи' в просмотре организации
✅ 2. Кнопка '+' для группы с предустановленной организацией
✅ 3. Упрощён выбор типа группы (по умолчанию организация)
✅ 4. Исправлена ошибка GroupPolicy::update()
✅ 5. Управление группами в редактировании пользователя
✅ Показ всех доступных групп (общие + организации)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 11:28:03 +08:00
mirivladandQwen-Coder 00229fc4ea Fix: organization_id nullable в groups table
✅ Миграция для изменения колонки на NULLABLE
✅ Применено к БД

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 11:17:25 +08:00
mirivladandQwen-Coder c3ed5a0edb Fix: Общая группа теперь создаётся
✅ required_if валидация для organization_id
✅ JavaScript убирает required при выборе общей группы
✅ Очищает значение при переключении на общую группу

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 11:12:50 +08:00
mirivladandQwen-Coder f1f1f4edde Fix: Добавлен middleware auth для API поиска
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 10:37:57 +08:00
mirivladandQwen-Coder 4503c217eb Feat: Универсальный компонент Searchable Select
✅ TomSelect библиотека (15KB vs 100KB у Select2)
✅ Blade компонент x-searchable-select
✅ API endpoint /api/organizations/search
✅ Поиск по названию и ИНН
✅ AJAX загрузка данных
✅ Используется в create.blade.php для групп
✅ Модульная архитектура - можно использовать для других полей

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 10:36:02 +08:00
mirivladandQwen-Coder f198afd8a0 Feat: Управление группами пользователей
✅ Modal добавления в группу на странице пользователя
✅ Метод addUser — добавление пользователя в группу
✅ Метод removeUser — удаление пользователя из группы
✅ Фильтр доступных групп (общие + группы организации)
✅ Проверка: нельзя добавить в группу другой организации
✅ Маршруты: POST /users/{user}/groups/add, DELETE /groups/{group}/users/{user}/remove

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 10:25:10 +08:00
mirivladandQwen-Coder 6599b8d5b6 Feat: CRUD групп с типами (организация/общие)
✅ create.blade.php — форма создания с выбором типа группы
✅ store метод — сохранение группы
✅ index.blade.php — кнопка создать, фильтр по пользователю
✅ edit метод — фильтр пользователей по организации
✅ Ссылка Группы в сайдбаре для Admin/Manager
✅ Полные маршруты для groups

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 10:21:17 +08:00
mirivladandQwen-Coder d27b631c8f Feat: CRUD групп пользователей
✅ GroupUserController (index, show, edit, update, destroy)
✅ Маршруты: /admin/groups
✅ Blade шаблоны: index, show, edit
✅ Управление пользователями в группах
✅ Исправлена подсветка сайдбара (Курсы/Тесты)
✅ Ссылка на Группы в сайдбаре для Curator

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 09:28:53 +08:00
mirivladandQwen-Coder 5da8134eae Fix: Работающие ссылки в сайдбаре для всех ролей
✅ Administrator/Manager: Тесты, Назначения — рабочие ссылки
✅ Curator: Пользователи, Группы, Курсы, Назначения — рабочие ссылки
✅ Student: Мои курсы, Тесты — рабочие ссылки
✅ Active state для всех разделов

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 09:05:41 +08:00