MenuController::destroy()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 3
c 1
b 0
f 1
dl 0
loc 6
ccs 4
cts 4
cp 1
rs 10
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
namespace DavideCasiraghi\LaravelQuickMenus\Http\Controllers;
4
5
use DavideCasiraghi\LaravelQuickMenus\Models\Menu;
6
use Illuminate\Http\Request;
7
use Validator;
8
9
class MenuController extends Controller
10
{
11
    /* Restrict the access to this resource just to logged in users, except some */
12 8
    public function __construct()
13
    {
14 8
        $this->middleware('admin');
15 8
    }
16
17
    /***************************************************************************/
18
19
    /**
20
     * Display a listing of the resource.
21
     *
22
     * @return \Illuminate\Http\Response
23
     */
24 1
    public function index(Request $request)
0 ignored issues
show
Unused Code introduced by
The parameter $request is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

24
    public function index(/** @scrutinizer ignore-unused */ Request $request)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
25
    {
26 1
        $menus = Menu::orderBy('name')->get();
27
28 1
        return view('laravel-quick-menus::menus.index', compact('menus'));
29
    }
30
31
    /***************************************************************************/
32
33
    /**
34
     * Show the form for creating a new resource.
35
     *
36
     * @return \Illuminate\Http\Response
37
     */
38 1
    public function create()
39
    {
40 1
        return view('laravel-quick-menus::menus.create');
41
    }
42
43
    /***************************************************************************/
44
45
    /**
46
     * Store a newly created resource in storage.
47
     *
48
     * @param  \Illuminate\Http\Request  $request
49
     * @return \Illuminate\Http\Response
50
     */
51 2
    public function store(Request $request)
52
    {
53
        // Validate form datas
54 2
        $validator = Validator::make($request->all(), [
55 2
            'name' => 'required',
56
        ]);
57 2
        if ($validator->fails()) {
58 1
            return back()->withErrors($validator)->withInput();
59
        }
60
61 1
        $menu = new Menu();
62 1
        $this->saveOnDb($request, $menu);
63
64 1
        return redirect()->route('menus.index')
65 1
                        ->with('success', __('laravel-quick-menus::messages.menu_added_successfully'));
66
    }
67
68
    /***************************************************************************/
69
70
    /**
71
     * Display the specified resource.
72
     *
73
     * @param  \DavideCasiraghi\LaravelQuickMenus\Models\Menu  $country
74
     * @return \Illuminate\Http\Response
75
     */
76
    /*public function show(Menu $menu)
77
    {
78
        return view('laravel-quick-menus::menus.show', compact('menu'));
79
    }*/
80
81
    /***************************************************************************/
82
83
    /**
84
     * Show the form for editing the specified resource.
85
     *
86
     * @param  \DavideCasiraghi\LaravelQuickMenus\Models\Menu  $country
87
     * @return \Illuminate\Http\Response
88
     */
89 1
    public function edit(Menu $menu)
90
    {
91 1
        return view('laravel-quick-menus::menus.edit', compact('menu'));
92
    }
93
94
    /***************************************************************************/
95
96
    /**
97
     * Update the specified resource in storage.
98
     *
99
     * @param  \Illuminate\Http\Request  $request
100
     * @param  \DavideCasiraghi\LaravelQuickMenus\Models\Menu  $menu
101
     * @return \Illuminate\Http\Response
102
     */
103 2
    public function update(Request $request, Menu $menu)
104
    {
105 2
        request()->validate([
106 2
            'name' => 'required',
107
        ]);
108
109 1
        $this->saveOnDb($request, $menu);
110
111 1
        return redirect()->route('menus.index')
112 1
                        ->with('success', __('laravel-quick-menus::messages.menu_updated_successfully'));
113
    }
114
115
    /***************************************************************************/
116
117
    /**
118
     * Remove the specified resource from storage.
119
     *
120
     * @param  \DavideCasiraghi\LaravelQuickMenus\Models\Menu  $menu
121
     * @return \Illuminate\Http\Response
122
     */
123 1
    public function destroy(Menu $menu)
124
    {
125 1
        $menu->delete();
126
127 1
        return redirect()->route('menus.index')
128 1
                        ->with('success', __('laravel-quick-menus::messages.menu_deleted_successfully'));
129
    }
130
131
    /***************************************************************************/
132
133
    /**
134
     * Save/Update the record on DB.
135
     *
136
     * @param  \Illuminate\Http\Request  $request
137
     * @return string $ret - the ordinal indicator (st, nd, rd, th)
138
     */
139 2
    public function saveOnDb($request, $menu)
140
    {
141 2
        $menu->name = $request->get('name');
142 2
        $menu->position = $request->get('position');
143
144 2
        $menu->save();
145 2
    }
146
147
    /***************************************************************************/
148
}
149