Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 27
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
SingleOptinController
0.00% covered (danger)
0.00%
0 / 27
0.00% covered (danger)
0.00%
0 / 2
30
0.00% covered (danger)
0.00%
0 / 1
 index
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
12
 destroy
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace App\Http\Controllers;
4
5use App\Models\SingleOptin;
6use Illuminate\Database\Eloquent\Builder;
7use Illuminate\Http\Request;
8use Illuminate\Support\Str;
9
10class SingleOptinController extends Controller
11{
12    /**
13     * Display a listing of the resource.
14     *
15     * @param \Illuminate\Http\Request $request
16     * @return \Illuminate\Contracts\View\View
17     */
18    public function index(Request $request): \Illuminate\Contracts\View\View
19    {
20        /** @var \Illuminate\Database\Eloquent\Builder $query */
21        $query = SingleOptin::query();
22
23        if ($request->brand) {
24            $query = $query->whereHas('brand', function (Builder $q) use ($request) {
25                $q->where('id', $request->brand);
26            });
27        }
28        if ($request->search) {
29            $this->searchQuery(
30                $query,
31                $request->search,
32                null,
33                'email',
34            );
35        }
36
37        $this->sortQuery($query);
38        $searchFields = trans('E-mail');
39
40        /** @var \Illuminate\Pagination\AbstractPaginator */
41        $singleoptinModels = $query->paginate(12);
42
43        return view('singleoptins.index', compact('singleoptinModels', 'searchFields'));
44    }
45
46    /**
47     * Remove the specified resource from storage.
48     *
49     * @param \App\Models\SingleOptin $singleoptin
50     * @return \Illuminate\Http\RedirectResponse
51     */
52    public function destroy(SingleOptin $singleoptin): \Illuminate\Http\RedirectResponse
53    {
54        if ($singleoptin->deleteOrFail()) {
55            return redirect()->route('single_optins.index')
56                ->with('success', trans(
57                    ':model a été supprimé.',
58                    ['model' => Str::singular(trans('models.classes.singleoptins'))]
59                ));
60        }
61        return redirect()->back()
62            ->with('error', trans(
63                ':model n\'a pas pu être supprimé.',
64                ['model' => Str::singular(trans('models.classes.singleoptins'))]
65            ));
66    }
67}