✅ Кнопка удаления в index (с подтверждением)
✅ Кнопка удаления в show (с подтверждением)
✅ Удаление элементов в edit (JavaScript)
✅ approve/reject кнопки в index
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Номер заявки вместо организации в списке
✅ Столбец Получатели (пользователи/группы/организации)
✅ Null-safe для organization, user, group
✅ Бейджи с названиями в show.blade.php
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Проверка options перед обращением
✅ Fallback на 'Курс #ID' если option не найден
✅ Безопасное получение text из options
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ <select multiple> вместо <div> для групп/пользователей
✅ plugins: ['remove_button'] для крестиков
✅ modalInitialized флаг для однократной инициализации
✅ Правильное получение getValue() для мультивыбора
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Modal с TomSelect для всех полей
✅ Курс, Организация, Группа, Пользователь - всё с поиском
✅ Динамическое добавление элементов через JSON
✅ edit.blade.php с загрузкой существующих элементов
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ initTomSelectForElement() для инициализации новых элементов
✅ TomSelect для курсов и организаций
✅ Ручная инициализация при добавлении элемента
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ create.blade.php — создание с элементами
✅ show.blade.php — просмотр с статистикой
✅ edit.blade.php — редактирование элементов
✅ Кнопки approve/reject на show
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Добавлен use User и use Group
✅ exclude_organization_id для поиска пользователей
✅ Исключение пользователей из текущей организации
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ AJAX добавление/удаление пользователей
✅ AJAX добавление/удаление групп
✅ Modal редактирования организации
✅ Фильтрация GroupSearchController для организаций
✅ Счётчики обновляются без перезагрузки
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Проверка organization_id только для групп организации
✅ Общие группы добавляют любых пользователей
✅ Разные placeholder для общих/организационных групп
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Проверка на дубликаты (не добавлять если уже в группе)
✅ Фильтрация поиска по организации группы
✅ UserSearchController фильтрует по organization_id
✅ Подсказка в modal для групп организации
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Маршрут: POST /groups/{group}/users/add
✅ Контроллер принимает Group из маршрута
✅ JavaScript обновлён
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Проверка на начатые тесты перед редактированием
✅ Если тестов нет — можно менять курс и дату начала
✅ Если тесты есть — только дата окончания и заметка
✅ Предупреждение в modal
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ При клике на ✏️ из списка → #edit в URL
✅ JavaScript открывает modal при загрузке
✅ Bootstrap 5 Modal API
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Группировка по курсу + датам в index
✅ Сводная статистика (пользователи/группы/организации)
✅ show с раздельными списками по типам
✅ Modals для быстрого добавления
✅ Удаление edit/update - управление через show
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ CourseAssignmentController (index, create, store)
✅ create.blade.php с тремя tags-input (пользователи/группы/организации)
✅ Разные цвета бейджей (зелёный/голубой/синий)
✅ UserSearchController API
✅ index.blade.php список назначений
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ edit.blade.php — выбор организации через searchable-select
✅ create.blade.php — выбор организации через searchable-select
✅ Контроллер не передаёт $organizations
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Только бейджи с названиями групп
✅ Без поля поиска и удаления
✅ Отображение организации в скобках
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ API groups/search принимает user_id параметр
✅ Фильтр: общие + группы организации ИЛИ только общие
✅ tags-input передаёт user_id в API
✅ Очистка кэша для GroupPolicy
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ Новый компонент x-tags-input
✅ Поле ввода + бейджи ниже
✅ Typeahead поиск групп
✅ Крестик для удаления
✅ Синие бейджи как в WordPress
✅ Отдельный компонент (не влияет на searchable-select)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ TomSelect с мультивыбором (теги как в WordPress)
✅ API /api/groups/search для поиска групп
✅ Обновлён edit.blade.php пользователя
✅ Обновлён show.blade.php пользователя
✅ Компонент поддерживает multiple=true
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ 1. Ссылка 'Все пользователи' в просмотре организации
✅ 2. Кнопка '+' для группы с предустановленной организацией
✅ 3. Упрощён выбор типа группы (по умолчанию организация)
✅ 4. Исправлена ошибка GroupPolicy::update()
✅ 5. Управление группами в редактировании пользователя
✅ Показ всех доступных групп (общие + организации)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ required_if валидация для organization_id
✅ JavaScript убирает required при выборе общей группы
✅ Очищает значение при переключении на общую группу
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ 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>
✅ Modal добавления в группу на странице пользователя
✅ Метод addUser — добавление пользователя в группу
✅ Метод removeUser — удаление пользователя из группы
✅ Фильтр доступных групп (общие + группы организации)
✅ Проверка: нельзя добавить в группу другой организации
✅ Маршруты: POST /users/{user}/groups/add, DELETE /groups/{group}/users/{user}/remove
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ create.blade.php — форма создания с выбором типа группы
✅ store метод — сохранение группы
✅ index.blade.php — кнопка создать, фильтр по пользователю
✅ edit метод — фильтр пользователей по организации
✅ Ссылка Группы в сайдбаре для Admin/Manager
✅ Полные маршруты для groups
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ index.blade.php — список с фильтрами
✅ create.blade.php — форма создания (individual/group/organization)
✅ edit.blade.php — форма редактирования
✅ show.blade.php — просмотр назначения
✅ JavaScript для динамического переключения полей
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
✅ urlencode/decodeURIComponent вместо base64
✅ modal-dialog-scrollable для прокрутки
✅ Обработка null для matching/ordering
✅ aria-hidden='true' для accessibility
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>