Completed
Push — 2.0 ( 2d1915 )
by Nicolas
14:43
created

RolesController::index()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
rs 9.4285
cc 1
eloc 3
nc 1
nop 0
1
<?php namespace Modules\User\Http\Controllers\Admin;
2
3
use Modules\User\Http\Requests\RolesRequest;
4
use Modules\User\Permissions\PermissionManager;
5
use Modules\User\Repositories\RoleRepository;
6
7
class RolesController extends BaseUserModuleController
8
{
9
    /**
10
     * @var RoleRepository
11
     */
12
    private $role;
13
14
    public function __construct(PermissionManager $permissions, RoleRepository $role)
15
    {
16
        parent::__construct();
17
18
        $this->permissions = $permissions;
19
        $this->role = $role;
20
    }
21
22
    /**
23
     * Display a listing of the resource.
24
     *
25
     * @return Response
26
     */
27
    public function index()
28
    {
29
        $roles = $this->role->all();
30
31
        return view('user::admin.roles.index', compact('roles'));
32
    }
33
34
    /**
35
     * Show the form for creating a new resource.
36
     *
37
     * @return Response
38
     */
39
    public function create()
40
    {
41
        return view('user::admin.roles.create');
42
    }
43
44
    /**
45
     * Store a newly created resource in storage.
46
     *
47
     * @param  RolesRequest $request
48
     * @return Response
49
     */
50
    public function store(RolesRequest $request)
51
    {
52
        $data = $this->mergeRequestWithPermissions($request);
53
54
        $this->role->create($data);
55
56
        flash(trans('user::messages.role created'));
57
58
        return redirect()->route('admin.user.role.index');
59
    }
60
61
    /**
62
     * Show the form for editing the specified resource.
63
     *
64
     * @param  int      $id
65
     * @return Response
66
     */
67
    public function edit($id)
68
    {
69
        if (!$role = $this->role->find($id)) {
70
            flash()->error(trans('user::messages.role not found'));
71
72
            return redirect()->route('admin.user.role.index');
73
        }
74
75
        return view('user::admin.roles.edit', compact('role'));
76
    }
77
78
    /**
79
     * Update the specified resource in storage.
80
     *
81
     * @param  int          $id
82
     * @param  RolesRequest $request
83
     * @return Response
84
     */
85
    public function update($id, RolesRequest $request)
86
    {
87
        $data = $this->mergeRequestWithPermissions($request);
88
89
        $this->role->update($id, $data);
90
91
        flash(trans('user::messages.role updated'));
92
93
        return redirect()->route('admin.user.role.index');
94
    }
95
96
    /**
97
     * Remove the specified resource from storage.
98
     *
99
     * @param  int      $id
100
     * @return Response
101
     */
102
    public function destroy($id)
103
    {
104
        $this->role->delete($id);
105
106
        flash(trans('user::messages.role deleted'));
107
108
        return redirect()->route('admin.user.role.index');
109
    }
110
}
111