Test Failed
Push — master ( e3c39f...fe570d )
by Mihail
07:20
created

Apps/Controller/Admin/User/ActionUpdate.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace Apps\Controller\Admin\User;
4
5
use Apps\ActiveRecord\User as UserRecord;
6
use Apps\Model\Admin\User\FormUserUpdate;
7
use Ffcms\Core\App;
8
use Ffcms\Core\Arch\View;
9
use Ffcms\Core\Exception\SyntaxException;
10
use Ffcms\Core\Network\Request;
11
use Ffcms\Core\Network\Response;
12
13
/**
14
 * Trait ActionUpdate
15
 * @package Apps\Controller\Admin\User
16
 * @property Request $request
17
 * @property Response $response
18
 * @property View $view
19
 */
20
trait ActionUpdate
21
{
22
    /**
23
     * Edit user profile by id
24
     * @param string $id
25
     * @return string
26
     * @throws SyntaxException
27
     */
28
    public function update(?string $id = null): ?string
29
    {
30
        $user = UserRecord::findOrNew($id);
31
        // generate model data based on user object
32
        $model = new FormUserUpdate($user);
0 ignored issues
show
It seems like $user can also be of type null; however, parameter $user of Apps\Model\Admin\User\Fo...erUpdate::__construct() does only seem to accept Ffcms\Core\Interfaces\iUser, maybe add an additional type check? ( Ignorable by Annotation )

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

32
        $model = new FormUserUpdate(/** @scrutinizer ignore-type */ $user);
Loading history...
33
34
        // check is form is sended
35
        if ($model->send()) {
36
            if ($model->validate()) { // check validation
37
                $model->save();
38
                App::$Session->getFlashBag()->add('success', __('Data was successful updated'));
39
            } else {
40
                App::$Session->getFlashBag()->add('error', __('Form validation is failed'));
41
            }
42
        }
43
44
        // render viewer
45
        return $this->view->render('user/user_update', [
46
            'model' => $model
47
        ]);
48
    }
49
}
50