Passed
Push — master ( 2260fe...635404 )
by Martin
06:12
created

LocationController   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 22
c 1
b 0
f 0
dl 0
loc 46
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A update() 0 12 1
A create() 0 11 1
A get() 0 4 1
A delete() 0 10 1
1
<?php
2
3
namespace App\Http\Controllers\Admin;
4
5
use App\Http\Controllers\Controller;
6
use App\Http\Requests\Admin\CreateUpdateLocation;
7
use App\Location;
8
use Illuminate\Support\Facades\Log;
9
10
class LocationController extends Controller
11
{
12
    public function create(CreateUpdateLocation $request)
13
    {
14
        $validated = $request->validated();
15
        $location = Location::create([
16
            'name' => $validated['name'],
17
            'address' => $validated['address']
18
        ]);
19
        // On successfull creation redirect the browser to the overview
20
        return redirect()
21
            ->route('admin.dependencies.location.get', $location)
22
            ->with('status', 'Created ' . $location->name . '!');
23
    }
24
25
    public function get(Location $location)
26
    {
27
        return view('admin.dependencies.manage-location', [
28
            'location' => $location
29
        ]);
30
    }
31
32
    public function update(Location $location, CreateUpdateLocation $request)
33
    {
34
        $validated = $request->validated();
35
36
        $location->name = $validated['name'];
37
        $location->address = $validated['address'];
38
        $location->save();
39
40
        // On successfull update redirect the browser to the overview
41
        return redirect()
42
            ->route('admin.dependencies.location.get', $location)
43
            ->with('status', 'Updated ' . $location->name . '!');
44
    }
45
46
    public function delete(Location $location)
47
    {
48
        Log::info('Deleting location#' . $location->id . ' (' . $location->name . ')');
49
50
        $location->delete();
51
52
        // On successfull deletion redirect the browser to the overview
53
        return redirect()
54
            ->route('admin.dependencies.dashboard')
55
            ->with('status', 'Deleted location successfull!');
56
    }
57
}
58