Fix: Маршрут show с {course} параметром

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-03-31 08:53:46 +08:00
parent 79d8dedb91
commit cb87a76570
3 changed files with 11 additions and 10 deletions

View File

@ -155,14 +155,14 @@ class CourseAssignmentController extends Controller
->with('success', "Создано назначений: {$created}"); ->with('success', "Создано назначений: {$created}");
} }
public function show(Request $request, $course_id) public function show(Request $request, $course)
{ {
Gate::authorize('viewAny', CourseAssignment::class); Gate::authorize('viewAny', CourseAssignment::class);
$start_date = $request->get('start'); $start_date = $request->get('start');
$end_date = $request->get('end') !== 'null' ? $request->get('end') : null; $end_date = $request->get('end') !== 'null' ? $request->get('end') : null;
$query = CourseAssignment::where('course_id', $course_id) $query = CourseAssignment::where('course_id', $course)
->where('start_date', $start_date); ->where('start_date', $start_date);
if ($end_date) { if ($end_date) {
@ -172,14 +172,14 @@ class CourseAssignmentController extends Controller
} }
$assignments = $query->with(['course', 'user', 'group', 'organization', 'creator'])->get(); $assignments = $query->with(['course', 'user', 'group', 'organization', 'creator'])->get();
$course = $assignments->first()?->course; $courseModel = $assignments->first()?->course ?? Course::find($course);
// Группируем по типам // Группируем по типам
$individual = $assignments->where('type', 'individual'); $individual = $assignments->where('type', 'individual');
$groups = $assignments->where('type', 'group'); $groups = $assignments->where('type', 'group');
$organizations = $assignments->where('type', 'organization'); $organizations = $assignments->where('type', 'organization');
return view('admin.course-assignments.show', compact('course', 'assignments', 'individual', 'groups', 'organizations', 'start_date', 'end_date')); return view('admin.course-assignments.show', compact('courseModel', 'assignments', 'individual', 'groups', 'organizations', 'start_date', 'end_date'));
} }
public function destroy(CourseAssignment $course_assignment) public function destroy(CourseAssignment $course_assignment)

View File

@ -1,12 +1,12 @@
@extends('layouts.app') @extends('layouts.app')
@section('title', 'Назначение: ' . $course->title) @section('title', 'Назначение: ' . $courseModel->title)
@section('content') @section('content')
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<nav class="col-md-3 col-lg-2 d-md-block sidebar"><div class="position-sticky pt-3">@include('partials._sidebar')</div></nav> <nav class="col-md-3 col-lg-2 d-md-block sidebar"><div class="position-sticky pt-3">@include('partials._sidebar')</div></nav>
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 main-content"> <main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 main-content">
<div class="d-flex justify-content-between align-items-center pt-3 pb-2 mb-3 border-bottom"> <div class="d-flex justify-content-between align-items-center pt-3 pb-2 mb-3 border-bottom">
<h1 class="h2">{{ $course->title }}</h1> <h1 class="h2">{{ $courseModel->title }}</h1>
<a href="{{ route('admin.course-assignments.index') }}" class="btn btn-secondary btn-sm">Назад</a> <a href="{{ route('admin.course-assignments.index') }}" class="btn btn-secondary btn-sm">Назад</a>
</div> </div>
@ -132,7 +132,7 @@
<div class="modal-content"> <div class="modal-content">
<form action="{{ route('admin.course-assignments.store') }}" method="POST"> <form action="{{ route('admin.course-assignments.store') }}" method="POST">
@csrf @csrf
<input type="hidden" name="course_ids" value="{{ $course->id }}"> <input type="hidden" name="course_ids" value="{{ $courseModel->id }}">
<input type="hidden" name="start_date" value="{{ $start_date }}"> <input type="hidden" name="start_date" value="{{ $start_date }}">
<input type="hidden" name="end_date" value="{{ $end_date }}"> <input type="hidden" name="end_date" value="{{ $end_date }}">
<div class="modal-header"> <div class="modal-header">
@ -157,7 +157,7 @@
<div class="modal-content"> <div class="modal-content">
<form action="{{ route('admin.course-assignments.store') }}" method="POST"> <form action="{{ route('admin.course-assignments.store') }}" method="POST">
@csrf @csrf
<input type="hidden" name="course_ids" value="{{ $course->id }}"> <input type="hidden" name="course_ids" value="{{ $courseModel->id }}">
<input type="hidden" name="start_date" value="{{ $start_date }}"> <input type="hidden" name="start_date" value="{{ $start_date }}">
<input type="hidden" name="end_date" value="{{ $end_date }}"> <input type="hidden" name="end_date" value="{{ $end_date }}">
<div class="modal-header"> <div class="modal-header">
@ -182,7 +182,7 @@
<div class="modal-content"> <div class="modal-content">
<form action="{{ route('admin.course-assignments.store') }}" method="POST"> <form action="{{ route('admin.course-assignments.store') }}" method="POST">
@csrf @csrf
<input type="hidden" name="course_ids" value="{{ $course->id }}"> <input type="hidden" name="course_ids" value="{{ $courseModel->id }}">
<input type="hidden" name="start_date" value="{{ $start_date }}"> <input type="hidden" name="start_date" value="{{ $start_date }}">
<input type="hidden" name="end_date" value="{{ $end_date }}"> <input type="hidden" name="end_date" value="{{ $end_date }}">
<div class="modal-header"> <div class="modal-header">

View File

@ -52,7 +52,8 @@ Route::middleware('auth')->group(function () {
Route::resource('courses', CourseController::class); Route::resource('courses', CourseController::class);
Route::resource('courses.tests', TestController::class); Route::resource('courses.tests', TestController::class);
Route::resource('tests.questions', QuestionController::class); Route::resource('tests.questions', QuestionController::class);
Route::resource('course-assignments', CourseAssignmentController::class); Route::resource('course-assignments', CourseAssignmentController::class)->except(['show', 'edit', 'update']);
Route::get('/course-assignments/{course}', CourseAssignmentController::class . '@show')->name('course-assignments.show');
Route::resource('groups', GroupUserController::class); Route::resource('groups', GroupUserController::class);
Route::post('/users/{user}/groups/add', [GroupUserController::class, 'addUser'])->name('groups.users.add'); Route::post('/users/{user}/groups/add', [GroupUserController::class, 'addUser'])->name('groups.users.add');
Route::delete('/groups/{group}/users/{user}/remove', [GroupUserController::class, 'removeUser'])->name('groups.users.remove'); Route::delete('/groups/{group}/users/{user}/remove', [GroupUserController::class, 'removeUser'])->name('groups.users.remove');