SetBoxOfficeSales   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
c 1
b 0
f 0
dl 0
loc 27
rs 10
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A authorize() 0 3 1
A rules() 0 10 3
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