| Current Path : /var/www/html/chatbot/backend/models/ |
| Current File : /var/www/html/chatbot/backend/models/Menu.php |
<?php
namespace backend\models;
use Yii;
use common\models\Dermaga;
use asinfotrack\yii2\audittrail\behaviors\AuditTrailBehavior;
/**
* This is the model class for table "ost_menu".
*
* @property integer $id
* @property string $menu_txt
* @property string $menu_loc
* @property integer $menu_parent_id
* @property string $default_menu
* @property integer $sort
* @property string $icon_name
* @property string $balloon_title
* @property integer $module_ind
* @property string $remarks
* @property string $hide_ind
* @property string $pic
* @property string $menucat
* @property string $modulecd
*/
class Menu extends Dermaga
{
public function behaviors()
{
return [
'audittrail'=>[
'class'=>AuditTrailBehavior::className(),
// some of the optional configurations
'ignoredAttributes'=>['created_at','updated_at'],
'consoleUserId'=>1,
'attributeOutput'=>[
'desktop_id'=>function ($value) {
$model = Desktop::findOne($value);
return sprintf('%s %s', $model->manufacturer, $model->device_name);
},
'last_checked'=>'datetime',
],
],
];
}
/**
* @inheritdoc
*/
public static function tableName()
{
return 'dmg_menu';
}
public $menu_txtbm;
/**
* @inheritdoc
*/
public function rules()
{
return [
[['menu_txt'],'required'],
[['menu_parent_id', 'sort', 'module_ind'], 'integer'],
[['pic'], 'string'],
[['modulecd','menucat','created_at', 'updated_at', 'deleted_at'], 'safe'],
[['menu_txt', 'menu_loc', 'balloon_title', 'remarks'], 'string', 'max' => 100],
[['default_menu', 'hide_ind'], 'string', 'max' => 1],
[['icon_name', 'created_by', 'updated_by'], 'string', 'max' => 50],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'menu_txt' => Yii::t('app','Menu/Fungsi'),
'menu_txtbm' => Yii::t('app','Menu/Function (Malay Version)'),
'menu_loc' => Yii::t('app','Lokasi Menu'),
'menu_parent_id' => Yii::t('app','Menu Sub'),
'default_menu' => Yii::t('app','Default'),
'sort' => Yii::t('app','Turutan'),
'icon_name' => Yii::t('app','Ikon'),
'balloon_title' => Yii::t('app','Balloon Title'),
'module_ind' => Yii::t('app','Menu Sub?'),
'remarks' => Yii::t('app','Remarks'),
'hide_ind' => Yii::t('app','Tidak Aktif?'),
'pic' => Yii::t('app','Pic'),
'modulecd'=> Yii::t('app','Menu Utama'),
'menucat' => Yii::t('app','Kategori Menu'),
];
}
public function getPortfolio() {
return $this->hasOne(MainMenu::className(), ['code' => 'modulecd'])->andWhere(['cat' => 'MAIN']);
}
public function getModules() {
return $this->hasOne(Menu::className(), ['id' => 'menu_parent_id']);
}
public function getListMenu() {
$list = Menu::find()
->select('a.menu_txt')
->from('dmg_menu a')
->innerJoin('dmg_main_menu b', 'a.modulecd=b.code')
->where('b.code=16')
->orWhere('b.code=18')
->orWhere('b.code=20')
->all();
return $list;
}
public function getDefaultMenu(){
$menus = Menu::findAll()
->where(['default_menu'=>'1'])
->andWhere(['hide_ind'=>'0'])
->andWhere(['module_ind'=>'1'])
->orderBy('sort')
->all();
return $menus;
}
public function displayModule() {
if ($this->module_ind == 0)
return 'No';
else
return 'Yes';
}
public function displayActive() {
if ($this->hide_ind == 0)
return 'No';
else
return 'Yes';
}
}