Your IP : 216.73.216.79


Current Path : /var/www/html/swcorpbda/frontend/models/
Upload File :
Current File : /var/www/html/swcorpbda/frontend/models/DataRequest.php

<?php

namespace frontend\models;

use Yii;
use asinfotrack\yii2\audittrail\behaviors\AuditTrailBehavior;

/**
 * This is the model class for table "data_request".
 *
 * @property int $id
 * @property int $user_id
 * @property string $request_at
 * @property string $data_type
 * @property string $agency_name
 * @property string $data_details
 * @property string $request_purpose
 * @property string $letter_url
 * @property string $approval_status
 * @property string $approval_at
 * @property string $approval_by
 * @property string $approval_remarks
 * @property string $approval_letter_url
 * @property int $data_owner_id
 * @property string $data_upload_url
 * @property string $data_updated_at
 * @property int $data_updated_by
 */
class DataRequest extends \yii\db\ActiveRecord {

    public $admin_approval_status;

    /**
     * {@inheritdoc}
     */
    public static function tableName() {
        return 'data_request';
    }

    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 function rules() {
        return [
            [[
            'approval_remarks', 'request_at', 'data_updated_at',
            'user_id', 'data_owner_id', 'data_updated_by',
            'approval_status', 'approval_at', 'approval_by', 'approval_letter_url', 'data_upload_url', 'data_upload_url2',
            'data_owner_remarks', 'assigned_at', 'assigned_by','data_status'
                ], 'safe'],
            [['data_type', 'agency_name', 'data_details', 'request_purpose',], 'required', 'message' => '{attribute} tidak boleh kosong'],
            [['letter_url',], 'required', 'message' => '{attribute} tidak boleh kosong', 'on' => 'requiredletterurl'],
            [['admin_approval_status'], 'required', 'message' => '{attribute} tidak boleh kosong', 'on' => 'adminupdate'],
            [['data_upload_type',], 'required', 'message' => '{attribute} tidak boleh kosong', 'on' => 'dataownerupdate']
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels() {
        return [
            'id' => 'ID',
            'user_id' => 'Nama Pemohon',
            'request_at' => 'Tarikh & Masa Permohonan',
            'data_type' => 'Jenis Data',
            'agency_name' => 'Nama Agensi',
            'data_details' => 'Butiran Data Yang Inginkan',
            'request_purpose' => 'Tujuan Permohonan Data',
            'letter_url' => 'Muat Naik Surat Rasmi',
            'approval_status' => 'Status Permohonan',
            'approval_at' => 'Dikemaskini Pada',
            'approval_by' => 'Dikemaskini Oleh',
            'approval_remarks' => 'Catatan',
            'approval_letter_url' => 'Muat Naik Surat Rasmi',
            'data_owner_id' => 'Pemilik Data Ditugaskan',
            'data_upload_type' => 'Jenis Muat Naik',
            'data_upload_url' => 'Muat Naik Data',
            'data_upload_url2' => 'Pautan Data',
            'data_updated_at' => 'Tarikh & Masa Dimuat Naik',
            'data_updated_by' => 'Dimuat Naik Oleh',
            'admin_approval_status' => 'Status Permohonan',
            'data_owner_dept' => 'Bahagian',
            'data_owner_remarks' => 'Catatan',
            'assigned_at' => 'Tarikh & Masa Ditugaskan',
            'assigned_by' => 'Ditugaskan Oleh',
            'data_status'=>'Status Pemilikan Data',
        ];
    }

    public function getUser() {
        return $this->hasOne(\backend\modules\fruserdynav2\models\FrontendUser::className(), ['id' => 'user_id']);
    }
    
    public function getAssigned() {
        return $this->hasOne(\backend\modules\fruserdynav2\models\FrontendUser::className(), ['id' => 'assigned_by']);
    }
}