SetBoxOfficeSales::authorize()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace App\Http\Requests;
4
5
use Illuminate\Foundation\Http\FormRequest;
6
use App\PriceCategory;
7
8
class SetBoxOfficeSales extends FormRequest
9
{
10
    /**
11
     * Determine if the user is authorized to make this request.
12
     *
13
     * @return bool
14
     */
15
    public function authorize()
16
    {
17
        return $this->user()->hasPermission('SELL_TICKETS');
18
    }
19
20
    /**
21
     * Get the validation rules that apply to the request.
22
     *
23
     * @return array
24
     */
25
    public function rules()
26
    {
27
        return [
28
            'tickets' => [
29
                'required',
30
                'array',
31
                function ($attribute, $value, $fail) {
32
                    foreach ($value as $category => $count) {
33
                        if (!PriceCategory::find($category)) {
34
                            $fail('Please select only offered price categories!');
35
                        }
36
                    }
37
                }
38
            ]
39
        ];
40
    }
41
}
42