Server_AccessControl/helpers/DeviceGrid.php

59 lines
1.7 KiB
PHP

<?php
namespace app\helpers;
use app\models\Door;
use yii\helpers\Html;
use yii\helpers\Url;
class DeviceGrid extends CommonGrid {
public static function status($array) {
return function($model) use ($array) {
if ($model->status)
return "<i class='fa fa-check text-green'></i>";
return "<i class='fa fa-remove text-red'></i>";
};
}
public static function type($array) {
return function($model) use ($array) {
return isset($array[$model->type]) ? $array[$model->type] : "";
};
}
public static function area($array) {
return function($model) use ($array) {
return isset($array[$model->area_id]) ? $array[$model->area_id] : "";
};
}
public static function checkbox($type, $haveRoot = true) {
return function($model) use ($type) {
return "<input type='checkbox' value='{$model->id}' data='{$model->ip_address}' name='checkbox-{$type}' class='checkbox-{$type}'>";
};
}
public static function openDoorHeader() {
return function($model, $index, $widget, $grid) {
return [
'class' => 'text-center',
'onclick' => "common.form(this, '', true);",
'data-href' => Url::to(['doors', 'id' => $model->id])
];
};
}
public static function openDoor() {
return function($model) {
$doors = Door::find()->andWhere(["device_id" => $model->id])->all();
$ls = [];
foreach ($doors as $key => $value) {
$ls[] = $value->name;
}
return implode("<br>", $ls);
};
}
}