Passed
Push — master ( de9f16...6836c0 )
by Aleksandr
02:35
created

InterfaceController::actionCheck()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 20
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 15
nc 4
nop 1
dl 0
loc 20
rs 9.2
c 0
b 0
f 0
1
<?php
2
3
4
namespace carono\exchange1c\controllers;
5
6
7
use carono\exchange1c\helpers\ModuleHelper;
8
use carono\exchange1c\models\InterfaceTest;
9
use yii\helpers\Html;
10
use yii\web\HttpException;
11
12
class InterfaceController extends Controller
13
{
14
    public function actionCheck($variable)
15
    {
16
        $class = \Yii::$app->controller->module->{$variable};
17
        if (!$class) {
18
            throw new HttpException("Значение '$variable' не установлено");
19
        }
20
        $interfaceTest = InterfaceTest::findByClass($class);
21
        $interfaceClass = ModuleHelper::getPhpDocInterfaceProperty($variable);
22
        if ($interfaceTest->load(\Yii::$app->request->post())) {
23
            if ($interfaceTest->save()) {
24
                $this->refresh();
25
            } else {
26
                \Yii::$app->session->setFlash('error', Html::errorSummary($interfaceTest));
27
            }
28
        }
29
        return $this->render('check', [
30
            'variable' => $variable,
31
            'class' => $class,
32
            'interfaceTest' => $interfaceTest,
33
            'interfaceClass' => $interfaceClass
34
        ]);
35
    }
36
}