Passed
Push — master ( c6150b...ef80b0 )
by Mihail
05:01
created

ActionSettings::settings()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 16
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 10
nc 3
nop 0
dl 0
loc 16
rs 9.9332
c 0
b 0
f 0
1
<?php
2
3
namespace Apps\Controller\Admin\Profile;
4
5
6
use Apps\Model\Admin\Profile\FormSettings;
7
use Ffcms\Core\App;
8
use Ffcms\Core\Arch\View;
9
use Ffcms\Core\Network\Request;
10
use Ffcms\Core\Network\Response;
11
12
/**
13
 * Trait ActionSettings
14
 * @package Apps\Controller\Admin\Profile
15
 * @property Request $request
16
 * @property Response $response
17
 * @property View $view
18
 */
19
trait ActionSettings
20
{
21
    /**
22
     * Profile global settings action
23
     * @return string|null
24
     * @throws \Ffcms\Core\Exception\SyntaxException
25
     */
26
    public function settings(): ?string
27
    {
28
        $model = new FormSettings($this->getConfigs());
0 ignored issues
show
Bug introduced by zenn
It seems like getConfigs() 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

28
        $model = new FormSettings($this->/** @scrutinizer ignore-call */ getConfigs());
Loading history...
29
30
        if ($model->send()) {
31
            if ($model->validate()) {
32
                $this->setConfigs($model->getAllProperties());
0 ignored issues
show
Bug introduced by zenn
It seems like setConfigs() 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

32
                $this->/** @scrutinizer ignore-call */ 
33
                       setConfigs($model->getAllProperties());
Loading history...
Bug introduced by Mihail
Are you sure the usage of $model->getAllProperties() targeting Ffcms\Core\Arch\Model::getAllProperties() seems to always return null.

This check looks for function or method calls that always return null and whose return value is used.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
if ($a->getObject()) {

The method getObject() can return nothing but null, so it makes no sense to use the return value.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
33
                App::$Session->getFlashBag()->add('success', __('Settings is successful updated'));
34
                $this->response->redirect('profile/index');
35
            } else {
36
                App::$Session->getFlashBag()->add('error', __('Form validation is failed'));
37
            }
38
        }
39
40
        return $this->view->render('profile/settings', [
41
            'model' => $model
42
        ]);
43
    }
44
}