Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Test Setup Failed
Pull Request — master (#3314)
by
unknown
16:59
created

Tabs::tabsEnabled()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Backpack\CRUD\app\Library\CrudPanel\Traits;
4
5
trait Tabs
6
{
7
    public function enableTabs()
8
    {
9
        $this->setOperationSetting('tabsEnabled', true);
0 ignored issues
show
Bug introduced by
It seems like setOperationSetting() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

9
        $this->/** @scrutinizer ignore-call */ 
10
               setOperationSetting('tabsEnabled', true);
Loading history...
10
        $this->setOperationSetting('tabsType', config('backpack.crud.' . $this->getCurrentOperation() . '.tabsType', 'horizontal'));
0 ignored issues
show
Bug introduced by
It seems like getCurrentOperation() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

10
        $this->setOperationSetting('tabsType', config('backpack.crud.' . $this->/** @scrutinizer ignore-call */ getCurrentOperation() . '.tabsType', 'horizontal'));
Loading history...
11
12
        return $this->tabsEnabled();
13
    }
14
15
    public function disableTabs()
16
    {
17
        $this->setOperationSetting('tabsEnabled', false);
18
19
        return $this->tabsEnabled();
20
    }
21
22
    /**
23
     * @return bool
24
     */
25
    public function tabsEnabled()
26
    {
27
        return $this->getOperationSetting('tabsEnabled');
0 ignored issues
show
Bug introduced by
The method getOperationSetting() does not exist on Backpack\CRUD\app\Library\CrudPanel\Traits\Tabs. Did you maybe mean getOperationFields()? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

27
        return $this->/** @scrutinizer ignore-call */ getOperationSetting('tabsEnabled');

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
28
    }
29
30
    /**
31
     * @return bool
32
     */
33
    public function tabsDisabled()
34
    {
35
        return !$this->tabsEnabled();
36
    }
37
38
    public function setTabsType($type)
39
    {
40
        $this->enableTabs();
41
        $this->setOperationSetting('tabsType', $type);
42
43
        return $this->getOperationSetting('tabsType');
44
    }
45
46
    /**
47
     * @return string
48
     */
49
    public function getTabsType()
50
    {
51
        return $this->getOperationSetting('tabsType');
52
    }
53
54
    public function enableVerticalTabs()
55
    {
56
        return $this->setTabsType('vertical');
57
    }
58
59
    public function disableVerticalTabs()
60
    {
61
        return $this->setTabsType('horizontal');
62
    }
63
64
    public function enableHorizontalTabs()
65
    {
66
        return $this->setTabsType('horizontal');
67
    }
68
69
    public function disableHorizontalTabs()
70
    {
71
        return $this->setTabsType('vertical');
72
    }
73
74
    /**
75
     * @param string $label
76
     *
77
     * @return bool
78
     */
79
    public function tabExists($label)
80
    {
81
        $tabs = $this->getTabs();
82
83
        return in_array($label, $tabs);
84
    }
85
86
    /**
87
     * @return bool|string
88
     */
89
    public function getLastTab()
90
    {
91
        $tabs = $this->getTabs();
92
93
        if (count($tabs)) {
94
            return last($tabs);
95
        }
96
97
        return false;
98
    }
99
100
    /**
101
     * @param $label
102
     *
103
     * @return bool
104
     */
105
    public function isLastTab($label)
106
    {
107
        return $this->getLastTab() == $label;
108
    }
109
110
    /**
111
     * @return \Illuminate\Support\Collection
112
     */
113
    public function getFieldsWithoutATab()
114
    {
115
        $all_fields = $this->getOperationFields();
116
117
        $fields_without_a_tab = collect($all_fields)->filter(function ($value, $key) {
0 ignored issues
show
Unused Code introduced by
The parameter $key is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

117
        $fields_without_a_tab = collect($all_fields)->filter(function ($value, /** @scrutinizer ignore-unused */ $key) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
118
            return !isset($value['tab']);
119
        });
120
121
        return $fields_without_a_tab;
122
    }
123
124
    /**
125
     * @param $label
126
     *
127
     * @return array|\Illuminate\Support\Collection
128
     */
129
    public function getTabFields($label)
130
    {
131
        if ($this->tabExists($label)) {
132
            $all_fields = $this->getOperationFields();
133
134
            $fields_for_current_tab = collect($all_fields)->filter(function ($value, $key) use ($label) {
0 ignored issues
show
Unused Code introduced by
The parameter $key is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

134
            $fields_for_current_tab = collect($all_fields)->filter(function ($value, /** @scrutinizer ignore-unused */ $key) use ($label) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
135
                return isset($value['tab']) && $value['tab'] == $label;
136
            });
137
138
            return $fields_for_current_tab;
139
        }
140
141
        return [];
142
    }
143
144
    /**
145
     * @return array
146
     */
147
    public function getTabs()
148
    {
149
        $tabs = [];
150
        $fields = $this->getOperationFields();
151
152
        $fields_with_tabs = collect($fields)
0 ignored issues
show
Unused Code introduced by
The assignment to $fields_with_tabs is dead and can be removed.
Loading history...
153
            ->filter(function ($value, $key) {
0 ignored issues
show
Unused Code introduced by
The parameter $key is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

153
            ->filter(function ($value, /** @scrutinizer ignore-unused */ $key) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
154
                return isset($value['tab']);
155
            })
156
            ->each(function ($value, $key) use (&$tabs) {
0 ignored issues
show
Unused Code introduced by
The parameter $key is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

156
            ->each(function ($value, /** @scrutinizer ignore-unused */ $key) use (&$tabs) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
157
                if (!in_array($value['tab'], $tabs)) {
158
                    $tabs[] = $value['tab'];
159
                }
160
            });
161
162
        return $tabs;
163
    }
164
165
    /**
166
     * @return mixed
167
     */
168
    public function getOperationFields()
169
    {
170
        if ($this->getCurrentOperation() == "show") {
171
            return $this->columns();
0 ignored issues
show
Bug introduced by
It seems like columns() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

171
            return $this->/** @scrutinizer ignore-call */ columns();
Loading history...
172
        } else {
173
            return $this->getCurrentFields();
0 ignored issues
show
Bug introduced by
It seems like getCurrentFields() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

173
            return $this->/** @scrutinizer ignore-call */ getCurrentFields();
Loading history...
174
        }
175
    }
176
}
177