| Current Path : /var/www/html/dosm/backend/models/industrial_training/ |
| Current File : /var/www/html/dosm/backend/models/industrial_training/Senarai_permohonan.php |
<?php
namespace backend\models\industrial_training;
use Yii;
use yii\behaviors\TimestampBehavior;
use yii\behaviors\BlameableBehavior;
use yii\db\Expression;
use yii\db\ActiveRecord;
use asinfotrack\yii2\audittrail\behaviors\AuditTrailBehavior;
/**
* This is the model class for table "senarai_permohonan".
*
*/
class Senarai_permohonan extends \yii\db\ActiveRecord
{
public $cover1;
/**
* @inheritdoc
*/
public static function tableName()
{
return 'industrial_training';
}
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
*/
//nisya comment 11112024
// public function rules()
// {
// return [
// [[
// 'jantina', 'peringkat_pengajian', 'kampus_cawangan',
// 'alamat', 'nama', 'no_kad_pengenalan',
// 'emel', 'no_telefon', 'cgpa', 'lokasi_mohon1',
// 'jarak_antara_rumah_dan_lokasi_mohon',
// 'tarikh_mula_jangka_masa_latihan', 'tarikh_akhir_jangka_masa_latihan',
// 'status_pemohon', 'nama_institusi_pengajian_tinggi', 'lokasi_mohon1',
// 'salinan_kad_pengenalan', 'surat_iringan', 'surat_sokongan_institut_pengajian_tinggi', 'resume', 'mini_transkrip_akademik'
// ], 'required'],
// [['salinan_kad_pengenalan', 'surat_iringan', 'surat_sokongan_institut_pengajian_tinggi', 'resume', 'mini_transkrip_akademik', 'upload_passport_photo'], 'file', 'skipOnEmpty' => false, 'extensions' => ['pdf', 'png', 'jpg', 'jpeg'], 'maxSize' => 1024 * 1024 * 1],
// [[
// 'updated_at'
// ], 'safe'],
// ];
// }
//nisya add 11112024
public function rules()
{
return [
// List of required fields
[[
'jantina', 'peringkat_pengajian', 'kampus_cawangan','bidang_pengajian',
'alamat', 'nama', 'no_kad_pengenalan',
'emel', 'no_telefon', 'cgpa', 'lokasi_mohon1','pengangkutan_yang_akan_digunakan',
'jarak_antara_rumah_dan_lokasi_mohon',
'tarikh_mula_jangka_masa_latihan', 'tarikh_akhir_jangka_masa_latihan',
'status_pemohon', 'nama_institusi_pengajian_tinggi', 'lokasi_mohon2',
'salinan_kad_pengenalan', 'surat_iringan', 'surat_sokongan_institut_pengajian_tinggi', 'resume', 'mini_transkrip_akademik'
], 'required'],
// List of extension restricted
[
[
'salinan_kad_pengenalan',
'surat_iringan',
'surat_sokongan_institut_pengajian_tinggi',
'resume',
'mini_transkrip_akademik'
],
'file',
'skipOnEmpty' => false,
'extensions' => 'pdf',
'checkExtensionByMimeType' => false, // Disable MIME-type check
'maxSize' => 1024 * 1024, // 1MB limit
'message' => 'Only files with extensions pdf are allowed.'
],
['upload_passport_photo',
'file',
'skipOnEmpty' => false,
'extensions' => ['pdf', 'png', 'jpg', 'jpeg'],
'checkExtensionByMimeType' => false, // Disable MIME-type check
'maxSize' => 1024 * 1024, // 1MB limit
'message' => 'Only files with extensions pdf, png, jpg, jpeg are allowed.'
],
//List of validation control
[
[
'salinan_kad_pengenalan',
'surat_iringan',
'surat_sokongan_institut_pengajian_tinggi',
'resume',
'mini_transkrip_akademik',
'upload_passport_photo'
],
'match',
'pattern' => '/^[a-zA-Z.@\_\'\s]+$/u',
'message' => 'The filename contains invalid characters. Only letters, spaces, and certain special characters (.,@-\'()) are allowed'
],
[['no_kad_pengenalan','no_telefon',], 'match', 'pattern' => '/^\d+$/', 'message' => 'Invalid characters. Only numbers is allowed','on' => ['default']],
[['cgpa','jarak_antara_rumah_dan_lokasi_mohon'], 'match', 'pattern' => '/^\d+(\.\d+)?$/', 'message' => 'Invalid characters. Only numbers and special characters . is allowed'],
['nama', 'match', 'pattern' => '/^[a-zA-Z.@\'\s]+$/', 'message' => 'Invalid characters. Only letters, spaces, and certain special characters (.@\') are allowed'],
['bidang_pengajian', 'match', 'pattern' => '/^[a-zA-Z.,\'\/\(\)\s]+$/', 'message' => 'Invalid characters. Only letters, spaces, and certain special characters (.,/\'()) are allowed'],
['kampus_cawangan', 'match', 'pattern' => '/^[a-zA-Z0-9.,\(\)\/\s]+$/', 'message' => 'Invalid characters. Only letters, numbers, spaces, and certain special characters (.,/()) are allowed'],
['alamat', 'match', 'pattern' => '/^[a-zA-Z0-9.,@\'\-\/\s\[\]\(\)]+$/', 'message' => 'Invalid characters. Only letters, numbers, spaces, and certain special characters (.,@-\'/[]()) are allowed'],
['emel', 'email', 'message' => 'Invalid characters in Email.'],
[
[
'jantina', 'nama_institusi_pengajian_tinggi', 'lokasi_mohon1', 'lokasi_mohon2',
'peringkat_pengajian','pengangkutan_yang_akan_digunakan'
],
'match',
'pattern' => '/^[a-zA-Z0-9,\-\'\(\)\s]+$/u',
'message' => 'Invalid characters. Only letters, numbers, spaces, and certain special characters (,-\'()) are allowed'
],
//date control
[['tarikh_mula_jangka_masa_latihan', 'tarikh_akhir_jangka_masa_latihan'], 'date', 'format' => 'php:Y-m-d'],
// Rule to ensure start date is greater than the current date
['tarikh_mula_jangka_masa_latihan', 'compare', 'compareValue' => date('Y-m-d'), 'operator' => '>', 'type' => 'date', 'message' => 'Industrial Training Start Date must be after today.'],
// Rule to ensure end date is greater than start date
['tarikh_akhir_jangka_masa_latihan', 'compare', 'compareAttribute' => 'tarikh_mula_jangka_masa_latihan', 'operator' => '>', 'type' => 'date', 'message' => 'Industrial Training Deadline must be after Industrial Training Start Date.'],
// Mark updated_at as safe
[['updated_at'], 'safe'],
];
}
public function attributeLabels()
{
return [
'no_kad_pengenalan' => Yii::t('app', 'No.Kad Pengenalan'),
'emel' => Yii::t('app', 'E-mel'),
'no_telefon' => Yii::t('app', 'No. Telefon Bimbit'),
'cgpa' => Yii::t('app', 'CGPA'),
'lokasi_mohon1' => Yii::t('app', 'Lokasi Permohonan 1'),
'lokasi_mohon2' => Yii::t('app', 'Lokasi Permohonan 2'),
'jarak_antara_rumah_dan_lokasi_mohon' => Yii::t('app', 'Jarak Antara Rumah Dan Lokasi Permohonan'),
'tarikh_mula_jangka_masa_latihan' => Yii::t('app', 'Tarikh Mula Latihan Industri'),
'tarikh_akhir_jangka_masa_latihan' => Yii::t('app', 'Tarikh Akhir Latihan Industri'),
'salinan_kad_pengenalan' => Yii::t('app', 'Salinan kad pengenalan'),
'surat_iringan' => Yii::t('app', 'Surat iringan'),
'surat_sokongan_institut_pengajian_tinggi' => Yii::t('app', 'Surat sokongan pengajian tinggi'),
'resume' => Yii::t('app', 'Resume'),
'mini_transkrip_akademik' => Yii::t('app', 'Mini transkrip akademik'),
'status_pemohon' => Yii::t('app', 'Disclaimer'),
'updated_at' => Yii::t('app', 'Tarikh Permohonan')
];
}
}