Passed
Push — master ( 313c53...eadb07 )
by Mihail
04:44
created

ActionInviteDelete   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 25
rs 10
c 0
b 0
f 0
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A inviteDelete() 0 17 4
1
<?php
2
3
namespace Apps\Controller\Admin\User;
4
5
use Apps\ActiveRecord\Invite;
6
use Apps\Model\Admin\User\FormInviteDelete;
7
use Ffcms\Core\App;
8
use Ffcms\Core\Arch\View;
9
use Ffcms\Core\Exception\NotFoundException;
10
use Ffcms\Core\Network\Request;
11
use Ffcms\Core\Network\Response;
12
13
14
/**
15
 * Trait ActionInviteDelete
16
 * @package Apps\Controller\Admin\User
17
 * @package Apps\Controller\Admin\User
18
 * @property Request $request
19
 * @property Response $response
20
 * @property View $view
21
 */
22
trait ActionInviteDelete
23
{
24
    /**
25
     * Render invite delete action
26
     * @return string|null
27
     * @throws NotFoundException
28
     * @throws \Ffcms\Core\Exception\SyntaxException
29
     */
30
    public function inviteDelete($id): ?string
31
    {
32
        $record = Invite::find($id);
33
        if (!$record) {
34
            throw new NotFoundException(__('Invite with id %id% not exist', ['id' => $id]));
35
        }
36
37
        $model = new FormInviteDelete($record);
38
        if ($model->send() && $model->validate()) {
39
            $model->make();
40
            App::$Session->getFlashBag()->add('success', __('Invite successful removed'));
41
            $this->response->redirect('user/invitelist');
42
        }
43
44
        return $this->view->render('user/invite_delete', [
45
            'record' => $record,
46
            'model' => $model
47
        ]);
48
    }
49
}