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

InterfaceController   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 22
rs 10
c 0
b 0
f 0
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A actionCheck() 0 20 4
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
}