TranslationLocalesSelectorTool::handle()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 6
rs 10
ccs 4
cts 4
cp 1
crap 1
1
<?php
2
3
namespace Yaro\Jarboe\Table\Toolbar;
4
5
use Illuminate\Http\Request;
6
7
class TranslationLocalesSelectorTool extends AbstractTool
8
{
9
    /**
10
     * Position where should tool be placed.
11
     */
12 1
    public function position()
13
    {
14 1
        return self::POSITION_HEADER;
15
    }
16
17
    /**
18
     * Unique tool identifier.
19
     */
20 2
    public function identifier(): string
21
    {
22 2
        return 'translation_locales_selector';
23
    }
24
25
    /**
26
     * Tool's view.
27
     */
28 1
    public function render()
29
    {
30 1
        return view('jarboe::crud.toolbar.translation_locales_selector', [
31 1
            'tool' => $this,
32 1
            'locales' => $this->crud()->getLocales(),
33
        ]);
34
    }
35
36
    /**
37
     * Handle tool execution.
38
     * @param Request $request
39
     */
40 1
    public function handle(Request $request)
41
    {
42 1
        $this->crud()->saveCurrentLocale($request->get('locale'));
43
44 1
        return response()->json([
45 1
            'ok' => true,
46
        ]);
47
    }
48
49
    /**
50
     * Check allowance to show and process tool.
51
     */
52 1
    public function check(): bool
53
    {
54 1
        return true;
55
    }
56
57 1
    public function isCurrentLocale($locale)
58
    {
59 1
        return $this->crud()->getCurrentLocale() == $locale;
60
    }
61
}
62