Your IP : 216.73.216.79


Current Path : /var/www/html/quran/backend/models/
Upload File :
Current File : /var/www/html/quran/backend/models/StaffDetail.php

<?php

namespace backend\models;

use Yii;
use common\models\User;


class StaffDetail extends \yii\db\ActiveRecord  {

    /**
     * @inheritdoc
     */

    public static function tableName() {
        return 'dmg_user_info';
    }

    /**
     * @inheritdoc
     */
    public function rules() {
        return [

            [['userid, staff_no', 'staff_ic'], 'required', 'on' => 'manageStaff'], 
            [['staff_name'], 'required', 'on' => 'bulksv'], 
            [['staff_name'], 'required', 'on' => 'bulkhod'], 
            [['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],

            [['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', 'Gambar Pekerja'),
            '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 getSupervisor() {
//        return $this->hasOne(Staff::className(), ['supervisor_id' => 'id']);
//    }

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


//    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 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 getCity($stateid) {
        return $this->staff_name;
    }

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

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

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


    public function getNationalitycode() {
        return $this->hasOne(Ref::className(), ['code' => 'nationality'])->andWhere(['cat' => 'CITIZEN']);
    }

}