Passed
Pull Request — develop (#11)
by
unknown
02:43
created

CourseController::update()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 2
dl 0
loc 12
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace App\Http\Controllers\Admin;
4
5
use App\Judite\Models\Course;
6
use Illuminate\Support\Facades\DB;
7
use App\Http\Controllers\Controller;
8
use App\Http\Requests\Course\UpdateRequest;
9
10
class CourseController extends Controller
11
{
12
    /**
13
     * Create a new controller instance.
14
     */
15
    public function __construct()
16
    {
17
        $this->middleware('auth');
18
        $this->middleware('can.admin');
19
    }
20
21
    /**
22
     * Display a resource of given id.
23
     *
24
     * @param int $id
25
     *
26
     * @return \Illuminate\View\View
27
     */
28
    public function show($id)
29
    {
30
        $data = DB::transaction(function () use ($id) {
31
            $course = Course::findOrFail($id);
32
            $enrollments = $course->enrollments()
33
                ->with('student.user')
34
                ->orderByStudent()
35
                ->paginate();
36
37
            return compact('course', 'enrollments');
38
        });
39
40
        return view('students.index', $data);
41
    }
42
43
    /**
44
     * Update the specified resource in storage.
45
     *
46
     * @param \App\Http\Requests\Course\UpdateRequest $request
47
     * @param int                                     $id
48
     *
49
     * @return \Illuminate\Http\RedirectResponse
50
     */
51
    public function update(UpdateRequest $request, $id)
52
    {
53
        DB::transaction(function () use ($request, $id) {
54
            $course = Course::findOrFail($id);
55
56
            $course->fill($request->all());
57
            $course->save();
58
59
            flash($course->name.' groups size were successfully updated.')->success();
60
        });
61
62
        return redirect()->route('admin.groups.index');
63
    }
64
}
65