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