TermsController   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 4
dl 0
loc 30
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A show() 0 6 1
A store() 0 20 2
1
<?php
2
3
namespace Nowendwell\LaravelTerms\Http\Controllers;
4
5
use Illuminate\Http\Request;
6
use Illuminate\Routing\Controller;
7
use App\Providers\RouteServiceProvider;
8
use Illuminate\Support\Facades\Redirect;
9
use Nowendwell\LaravelTerms\Models\Term;
10
use Nowendwell\LaravelTerms\Events\AgreedToTerms;
11
12
class TermsController extends Controller
13
{
14
    public function show()
15
    {
16
        return view('terms::show', [
17
            'terms' => Term::latest('id')->first(),
18
        ]);
19
    }
20
21
    public function store(Request $request)
22
    {
23
        $request->validate([
0 ignored issues
show
Bug introduced by
The call to validate() misses a required argument $...$params.

This check looks for function calls that miss required arguments.

Loading history...
24
            'terms' => 'required',
25
        ]);
26
27
        $term = Term::latest('id')->first();
28
        $request->user()->terms()->attach($term->id);
29
30
        event(new AgreedToTerms($request->user(), $term));
31
32
        if (session()->has('url.intended')) {
33
            $url = session('url.intended');
34
            session()->forget('url.intended');
35
36
            return redirect()->to($url);
37
        }
38
39
        return redirect()->to(RouteServiceProvider::HOME);
40
    }
41
}
42