TravelController::create()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace SET\Http\Controllers;
4
5
use Illuminate\Support\Facades\Auth;
6
use Illuminate\Support\Facades\Redirect;
7
use Illuminate\Support\Facades\Storage;
8
use Krucas\Notification\Facades\Notification;
9
use SET\Attachment;
10
use SET\Http\Requests\TravelRequest;
11
use SET\Travel;
12
use SET\User;
13
14
class TravelController extends Controller
15
{
16
    public function create(User $user)
17
    {
18
        $this->authorize('edit');
19
20
        return view('travel.create', compact('user'));
21
    }
22
23 View Code Duplication
    public function store(TravelRequest $request, User $user)
24
    {
25
        $this->authorize('edit');
26
27
        $data = $request->all();
28
        $data['author_id'] = Auth::user()->id;
29
30
        $travel = $user->travels()->create($data);
31
32
        if ($request->hasFile('files')) {
33
            Attachment::upload($travel, $request->file('files'), $data['encrypt']);
34
        }
35
36
        Notification::container()->success('Travel successfully created');
37
38
        return redirect()->action('UserController@show', $user->id);
39
    }
40
41
    public function edit(User $user, Travel $travel)
42
    {
43
        $this->authorize('edit_training_user', $user);
44
45
        return view('travel.edit', compact('user', 'travel'));
46
    }
47
48 View Code Duplication
    public function update(TravelRequest $request, User $user, Travel $travel)
49
    {
50
        $this->authorize('edit_training_user', $user);
51
        $data = $request->all();
52
        $travel->update($data);
53
54
        if ($request->hasFile('files')) {
55
            Attachment::upload($travel, $request->file('files'), $data['encrypt']);
56
        }
57
58
        Notification::container()->success('Travel successfully updated');
59
60
        return redirect()->action('UserController@show', $user->id);
61
    }
62
63
    public function destroy($userID, $travelID)
64
    {
65
        $this->authorize('edit');
66
        Travel::findOrFail($travelID)->delete();
67
        Storage::deleteDirectory('travel_'.$travelID);
68
69
        return Redirect::back();
70
    }
71
}
72