Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
AnswerController
n/a
0 / 0
n/a
0 / 0
4
n/a
0 / 0
 indexQuery
n/a
0 / 0
2
n/a
0 / 0
 index
n/a
0 / 0
2
n/a
0 / 0
1<?php
2
3namespace App\Http\Controllers;
4
5use App\Http\Controllers\Controller;
6use App\Models\Answer;
7use Illuminate\Database\Eloquent\Builder;
8use Kwaadpepper\CrudPolicies\Http\Requests\CrudIndexRequest;
9use Kwaadpepper\CrudPolicies\Traits\CrudController;
10
11/**
12 * @codeCoverageIgnore
13 */
14class AnswerController extends Controller
15{
16    use CrudController {
17        index as crudIndex;
18    }
19
20    /** @var Log */
21    public static $modelClass = Answer::class;
22
23    /**
24     * The Bo app layout
25     *
26     * @var string
27     */
28    public static $layout = 'layouts.app';
29
30    /**
31     * Event index crud-policies
32     *
33     * @param Builder $query
34     * @return Builder
35     */
36    public function indexQuery(Builder $query): Builder
37    {
38        $parent = request()->question;
39        if ($parent) {
40            $query->whereHas('question', function ($q) use ($parent) {
41                return $q->whereId($parent->id);
42            });
43        }
44        return $query;
45    }
46
47    /**
48     * Overload crud-policies index
49     *
50     * @param CrudIndexRequest $request
51     * @return \Illuminate\Http\Response
52     */
53    public function index(CrudIndexRequest $request)
54    {
55        /** @var \Illuminate\View\View */
56        $view = $this->crudIndex($request);
57        if ($request->ajax()) {
58            return $view;
59        }
60        return view('answer.index', $view->getData());
61    }
62}