Your IP : 216.73.216.124


Current Path : /var/www/html/chatbot/backend/models/
Upload File :
Current File : /var/www/html/chatbot/backend/models/Staff.php

<?php

namespace backend\models;

use Yii;
use common\models\Dermaga;
use common\models\User;
use yii\base\Model;
use backend\models\StaffDetail;

class Staff extends StaffDetail {

    /**
     * @inheritdoc
     */
    public $username;
    public $email;
    public $file;
//    public $password_hash;
//    public $status;
//    public $confirmPassword;

    /**
     * @inheritdoc
     */
    public function rules() {
        return [
            [['staff_ic', 'email', 'gender'], 'required', 'on' => 'manageStaff'],
            [['staff_name'], 'required', 'on' => 'bulksv'], //fa add 20161110
            [['staff_name'], 'required', 'on' => 'bulkhod'], //fa add 20161110
            [['company_email', 'userid', 'created_at', 'updated_at'], 'safe'],
            [['staff_no'], 'unique'],
            [['reset_password'], 'integer'],
            [['passportno', 'staff_no', 'staff_ic', 'userid'], 'string', 'max' => 14],
            [['passhint'], 'string', 'max' => 100],
            [['userid', 'created_at', 'updated_at'], 'safe'],
            [['staff_no'], 'unique'],
            [['reset_password'], 'integer'],
            [['passportno', 'staff_no', 'staff_ic', 'staff_army_no', 'userid'], 'string', 'max' => 14],
            [['staff_name', 'passhint'], 'string', 'max' => 100],
//            ['staff_photo', 'file', 'extensions' => ['png', 'jpg', 'jpeg'], 'maxSize' => 45000],
//            [['staff_photo'], 'safe'],
            [['title_code', 'city_code', 'state_code', 'office_ext_no'], 'string', 'max' => 5],
            [['gender', 'user_status'], 'string', 'max' => 1],
            [['phone_no', 'mobile_no', 'office_no'], 'string', 'max' => 12],
            [['company_email', 'staff_photo', 'created_by', 'updated_by'], 'string', 'max' => 50],
            [['company_email'], 'email'],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels() {
        return [
            'id' => 'ID',
            'userid' => Yii::t('app', 'ID Pengguna'),
            'staff_no' => Yii::t('app', 'No. Pekerja'),
            'staff_name' => Yii::t('app', 'Nama Penuh'),
            'staff_ic' => Yii::t('app', 'No. Kad Pengenalan'),
            'passportno' => Yii::t('app', 'No. Passport'),
            'staff_army_no' => Yii::t('app', 'Staff Army No'),
            'title_code' => Yii::t('app', 'Tajuk'),
            'gender' => Yii::t('app', 'Jantina'),
            'city_code' => Yii::t('app', 'Bandar'),
            'state_code' => Yii::t('app', 'Negeri'),
            'phone_no' => Yii::t('app', 'No. Telefon'),
            'mobile_no' => Yii::t('app', 'No. Telefon Bimbit'),
            'office_no' => Yii::t('app', 'No. Pejabat'),
            'office_ext_no' => Yii::t('app', 'No. Ext Pejabat'),
            'company_email' => Yii::t('app', 'Emel Syarikat'),
            'staff_photo' => Yii::t('app', ''),
            'user_status' => Yii::t('app', 'Status'),
            'reset_password' => Yii::t('app', 'Set Semula Kata Laluan'),
            'passhint' => Yii::t('app', 'Passhint'),
            'created_by' => Yii::t('app', 'Created By'),
            'created_at' => Yii::t('app', 'Created At'),
            'updated_by' => Yii::t('app', 'Updated By'),
            'updated_at' => Yii::t('app', 'Updated At'),
        ];
    }

//    public function getImageUrl() 
//    {
//        // return a default image placeholder if your source avatar is not found
//        $avatar = isset($this->avatar) ? $this->avatar : 'user-icon.png';
//        return Yii::$app->params['uploadUrl'] . $avatar;
//    }

    public function getUser() {
        return $this->hasOne(User::className(), ['id' => 'userid']);
    }

    public function getStaff() {
        return $this->hasOne(Staff::className(), ['userid' => 'id']);
    }

//    public function getHod() {
//        return $this->hasOne(Staff::className(), ['hod_id' => 'id']);
//    }

    public function getStaffInfoId($userid) {
        $data = Staff::find()->where("userid='$userid'")->one();
        return $data->id;
    }

    public function getName() {
        return $this->staff_name;
    }

    public function getSender($id) {
        $staffData = Staff::findOne($id);
        if (count($staffData) > 0) {
            return $staffData->staff_name;
        } else {
            return "<i style='color:#c55;'>{Pengguna tiada dalam rekod}</i>";
        }
        return FALSE;
    }

    public function getStaffName($id) {
        $staffData = Staff::findOne($id);
        if (count($staffData) > 0) {
            return $staffData->staff_name;
        } else {
            return "<i style='color:#c55;'>{Pengguna tiada dalam rekod}</i>";
        }
        return FALSE;
    }

    public function displayStatus() {
        if ($this->user_status == 10)
            return 'Active';
        else
            return 'Not Active';
    }

    public static function getList() {
        $arr2 = [];
        $arr = self::find()->all();
        foreach ($arr as $code) {
            $arr2[$code->id] = $code->staff_name;
        }
        return $arr2;
    }

    public function getRoles() {
        return $this->hasMany(\backend\models\StaffAccess::className(), ['staff_info_id' => 'id']);
    }

}