mirivlad
89e72895c8
Fix: Исправлены все маршруты admin.tests.* на admin.courses.tests.*
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 17:07:00 +08:00
mirivlad
6ed7654773
Fix: QuestionPolicy возвращал false - исправлен на проверку ролей
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 16:50:27 +08:00
mirivlad
1ac09e6889
Fix: QuestionController не был обновлён - перезаписан полный контроллер
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 16:47:31 +08:00
mirivlad
d73fbf3050
Fix: Исправлен маршрут admin.tests.show на admin.courses.tests.show
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 16:21:57 +08:00
mirivlad
dc5418fdfe
Fix: Исправлены ссылки на тесты и вопросы
...
✅ show.blade.php теста - ссылки на вопросы работают
✅ show.blade.php курса - ссылки на тесты работают
✅ Сайдбар - ссылка Тесты ведёт на список курсов
✅ Вопросы кликабельны в списке
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 16:18:55 +08:00
mirivlad
4235f913d3
Fix: Исправлены маршруты вопросов на admin.tests.questions.*
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 16:01:58 +08:00
mirivlad
464f1baa01
Fix: Исправлены маршруты в шаблонах вопросов
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 15:57:39 +08:00
mirivlad
a34c2e2812
Feat: CRUD вопросов (начало)
...
✅ QuestionController (resource)
✅ QuestionPolicy
✅ Маршруты: /admin/tests/{test}/questions
✅ Blade-шаблоны: index, create (с JS для динамических ответов)
✅ Поддержка типов: single_choice, multiple_choice, input, matching
✅ Интеграция в show теста
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 15:45:14 +08:00
mirivlad
fe61dcf4b7
Fix: Исправлены имена маршрутов в show и edit для тестов
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 14:49:11 +08:00
mirivlad
563fc1157f
Fix: Убран shallow routing для тестов
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 14:47:02 +08:00
mirivlad
895789cabf
Feat: Добавлены show и edit шаблоны для тестов
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 14:33:18 +08:00
mirivlad
7bfa1af596
Fix: Исправлены имена маршрутов в create.blade.php
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 14:27:41 +08:00
mirivlad
8f02084d3a
Fix: Исправлен TestPolicy - возвращать true для ролей
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 13:54:02 +08:00
mirivlad
eeb0628e51
Feat: TestPolicy для управления правами доступа к тестам
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 13:48:42 +08:00
mirivlad
8ab423607c
Fix: Исправлены имена маршрутов для тестов
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 13:37:30 +08:00
mirivlad
32c9df5453
Feat: CRUD тестов (начало)
...
✅ TestController (resource controller)
✅ Маршруты: /admin/courses/{course}/tests
✅ Blade-шаблоны: index, create
✅ Интеграция в show курса
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 13:17:44 +08:00
mirivlad
68439932a8
Fix: Убрано ограничение на максимальные размеры обложки
...
✅ Оставлен только мин. размер 400x300px
✅ Макс. размеры сняты (поддержка 4K, 8K)
✅ Обновлены сообщения об ошибках
✅ Обновлены подсказки в формах
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:57:56 +08:00
mirivlad
0ac72cadc5
Feat: Улучшен интерфейс загрузки обложки
...
✅ Показ превью thumbnail при редактировании
✅ Убраны технические подробности о размерах
✅ Оставлена только важная информация (10MB, форматы)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:50:43 +08:00
mirivlad
0196ec2c12
Fix: Index использует thumbnail, show использует оригинал
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:46:07 +08:00
mirivlad
f48c22f75a
Fix: Исправлен путь к файлу в generateThumbnail()
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:41:06 +08:00
mirivlad
b3d1daeea6
Feat: Генерация thumbnail для обложек курсов
...
✅ Intervention Image установлен
✅ generateThumbnail() - создаёт копию 400x300px с crop по центру
✅ deleteThumbnails() - удаляет оригинал и thumb
✅ Обновлены store, update, destroy методы
✅ View используют оригиналы для show, thumb для списка
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:39:10 +08:00
mirivlad
65cb891658
Feat: Увеличены лимиты для обложек курсов
...
✅ Мин. размеры: 400x300px
✅ Макс. размеры: 3000x2000px
✅ Макс. размер файла: 10MB
✅ Обновлены подсказки в формах
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:34:25 +08:00
mirivlad
5ee549fbd1
Feat: Добавлена валидация обложки курса
...
✅ Минимальные размеры: 400x300px
✅ Максимальный размер: 2MB
✅ Форматы: JPEG, PNG, WebP
✅ Подсказки в формах
✅ Кастомные сообщения об ошибках
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 12:24:28 +08:00
mirivlad
731eb48537
Feat: CRUD курсов
...
✅ CourseController (resource)
✅ CoursePolicy
✅ Маршруты: /admin/courses
✅ Blade-шаблоны:
- index.blade.php (список с карточками)
- create.blade.php (форма создания)
- edit.blade.php (форма редактирования)
- show.blade.php (просмотр)
✅ Ссылка в сайдбаре
✅ Загрузка изображений (thumbnail)
✅ Типы курсов: standard, scorm, h5p
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 11:31:40 +08:00
mirivlad
ca95621856
Fix: Изменено $category на $courseCategory для соответствия route model binding
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 11:23:26 +08:00
mirivlad
381c31c686
Fix: Исправлена ссылка в edit.blade.php
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:59:51 +08:00
mirivlad
4436a6b2b3
Feat: Добавлены show и edit шаблоны для категорий
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:53:58 +08:00
mirivlad
5c1306d6e5
Fix: Указан правильный foreign key в CourseCategory::courses()
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:50:16 +08:00
mirivlad
8ce35370a9
Fix: Удалена дублирующая миграция category_id
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:45:54 +08:00
mirivlad
ca2be7a926
Fix: Добавлен namespace для CourseCategoryController в routes/web.php
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:42:33 +08:00
mirivlad
dacff2dd1c
Feat: CRUD категорий курсов
...
✅ CourseCategoryController (resource)
✅ CourseCategoryPolicy
✅ Маршруты: /admin/course-categories
✅ Blade-шаблоны:
- index.blade.php (древовидный список)
- create.blade.php
- _row.blade.php (partial для дерева)
✅ Ссылка в сайдбаре
✅ Вложенность категорий (parent/children)
✅ Scope tree() для древовидной структуры
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:39:14 +08:00
mirivlad
3bec82a991
Feat: CRUD пользователей
...
✅ UserController (resource controller)
✅ UserPolicy
✅ Маршруты: /admin/users (resource)
✅ Blade-шаблоны:
- admin/users/index.blade.php (с фильтрами)
- admin/users/create.blade.php
- admin/users/edit.blade.php (с группами)
- admin/users/show.blade.php
✅ Ссылка в сайдбаре
✅ Привязка к организациям
✅ Распределение по группам
✅ Управление ролями
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 10:29:24 +08:00
mirivlad
2561807e3b
Feat: Добавлен просмотр группы (show)
...
✅ GroupController@show метод
✅ admin/groups/show.blade.php шаблон
✅ Исправлена ссылка на просмотр в admin/organizations/show.blade.php
✅ Загрузка пользователей группы через load('users')
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:56:50 +08:00
mirivlad
193d1efc50
Fix: Исправлен маршрут admin.groups.edit -> admin.organizations.groups.edit в show.blade.php
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:47:50 +08:00
mirivlad
052ac71e9d
Fix: Убраны shallow routes для групп. Теперь все маршруты используют organization
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:44:57 +08:00
mirivlad
0f3bfc087d
Fix: Исправлены маршруты в шаблонах групп (store, update)
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:41:23 +08:00
mirivlad
e793b377d7
Fix:
...
- Исправлены маршруты групп (admin.organizations.groups.*)
- Вынесен сайдбар в partial (_sidebar.blade.php)
- Добавлена ссылка на Отчёты в сайдбар
- Обновлены все шаблоны для использования partial
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 09:03:19 +08:00
mirivlad
4f5a615860
CRUD групп - Этап 2
...
✅ GroupController (index, create, store, edit, update, destroy)
✅ GroupPolicy (viewAny, view, create, update, delete)
✅ Маршруты: /admin/organizations/{organization}/groups (shallow resource)
✅ Blade-шаблоны:
- admin/groups/index.blade.php (список групп организации)
- admin/groups/create.blade.php (форма создания)
- admin/groups/edit.blade.php (форма редактирования)
✅ Обновлён admin/organizations/show.blade.php (управление группами)
✅ Обновлён AuthServiceProvider (регистрация GroupPolicy)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 08:53:48 +08:00
mirivlad
32fed5d4b6
Fix: Добавлен метод courses() в Organization model
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 08:51:27 +08:00
mirivlad
2271abf732
CRUD организаций - Этап 2
...
✅ OrganizationController (index, create, store, show, edit, update, destroy)
✅ OrganizationPolicy (viewAny, view, create, update, delete)
✅ Маршруты: /admin/organizations (resource)
✅ Blade-шаблоны:
- admin/organizations/index.blade.php (список с пагинацией)
- admin/organizations/create.blade.php (форма создания)
- admin/organizations/show.blade.php (просмотр + статистика)
- admin/organizations/edit.blade.php (форма редактирования)
✅ Обновлённое меню в dashboard/admin.blade.php
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-26 08:41:45 +08:00
mirivlad
244c56df39
LMS Этап 1 MVP - Laravel 13
...
✅ Базовая функциональность:
- Аутентификация (вход/выход/регистрация)
- Роли и разрешения (Administrator, Manager, Curator, Student)
- Панель управления (dashboard) для разных ролей
✅ База данных (23 миграции):
- users, organizations, groups, user_groups
- course_categories, courses, course_modules
- tests, questions, answers, question_matching_pairs
- test_attempts, test_responses
- course_requests, course_request_items, course_assignments
- scorm_data, user_course_progress, logs
- permission tables
✅ Модели (15 моделей с отношениями):
- User, Organization, Group
- CourseCategory, Course, CourseModule
- Test, Question, Answer, QuestionMatchingPair
- TestAttempt, TestResponse
- CourseRequest, CourseRequestItem, CourseAssignment
- ScormData, UserCourseProgress, Log
✅ Seeders:
- RoleSeeder (роли и разрешения)
- UserSeeder (тестовые пользователи)
✅ Контроллеры:
- LoginController, RegisterController, DashboardController
✅ Blade-шаблоны:
- layouts/app.blade.php
- auth/login.blade.php, auth/register.blade.php
- dashboard/admin.blade.php, dashboard/curator.blade.php, dashboard/student.blade.php
📦 Пакеты:
- Laravel 13 (dev-master)
- spatie/laravel-permission
- laravel/sanctum
🔧 Инфраструктура:
- Nginx конфигурация
- PHP 8.4-FPM
- MariaDB
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-25 17:30:37 +08:00