| Current Path : /var/www/html/ekursusv2/frontend/runtime/frontendpage/ |
| Current File : /var/www/html/ekursusv2/frontend/runtime/frontendpage/165_1781747174042228800-content-426.php |
<?php
/*** CONTENT_ID-426***/
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use yii\helpers\ArrayHelper;
use yii\data\ActiveDataProvider;
use yii\widgets\ActiveForm;
use frontend\models\CourseApplication;
$search_course = Yii::$app->getRequest()->getQueryParam('search_course');
$search_name = Yii::$app->getRequest()->getQueryParam('search_name');
$search_ic = Yii::$app->getRequest()->getQueryParam('search_ic');
/*if(!empty(Yii::$app->getRequest()->getQueryParam('action')) && Yii::$app->getRequest()->getQueryParam('action') == 'delete'){
$id = Yii::$app->getRequest()->getQueryParam('id');
if (($model = CourseApplication::findOne($id)) !== null) {
//send email to admin
$queryAdmin = new \yii\db\Query();
$queryAdmin->select(['dmg_user.*'])
->from('dmg_user')
->innerJoin('course','course.created_by=dmg_user.id')
->innerJoin('course_timetable','course.course_id=course_timetable.timetable_course_id')
->where(['=','course_timetable.timetable_id',$model->application_course_id]);
$modelAdmin = $queryAdmin->one();
if(!empty($modelAdmin)){
$to_mail = $modelAdmin['email'];
$subject_mail = 'Pembatalan Permohonan Menyertai Kursus';
$content_mail = '<p>Assalamualaikum dan Salam Sejahtera,</p>
<p>
Adalah dimaklumkan bahawa '.$model->staff->staff_name.' ('.$model->staff->staff_ic_no.') ingin membatalkan permohonan menyertai kursus
'.$model->course->course_name.' yang akan berlangsung pada '.date("d/m/Y", strtotime($model->timetable->timetable_start_date)).'.
</p>
<p>Sekian, harap maklum</p>';
Yii::$app->emailModule->sendemail($to_mail, $subject_mail, $content_mail);
}
if($model->delete()){
echo "<script>
Swal.fire({
icon: 'success',
title: 'Berjaya',
html: 'Permohonan kursus telah dibatalkan',
}).then((result) => {
window.location.href = '/portal-main/application-list';
});
</script>";
}
}
}*/
if(!empty(Yii::$app->getRequest()->getQueryParam('action')) && Yii::$app->getRequest()->getQueryParam('action') == 'confirmattendance'){
$id = Yii::$app->getRequest()->getQueryParam('id');
if (($model = CourseApplication::findOne($id)) !== null) {
$model->confirm_attend_status=1;
if($model->save()){
//send email to admin
$queryAdmin = new \yii\db\Query();
$queryAdmin->select(['dmg_user.*'])
->from('dmg_user')
->innerJoin('course','course.created_by=dmg_user.id')
->innerJoin('course_timetable','course.course_id=course_timetable.timetable_course_id')
->where(['=','course_timetable.timetable_id',$model->application_course_id]);
$modelAdmin = $queryAdmin->one();
if(!empty($modelAdmin)){
$to_mail = $modelAdmin['email'];
$subject_mail = 'Pengesahan Kehadiran Kursus';
$content_mail = '<p>Assalamualaikum dan Salam Sejahtera,</p>
<p>
Adalah dimaklumkan bahawa '.$model->staff->staff_name.' ('.$model->staff->staff_ic_no.') telah membuat pengesahan menyertai kursus
'.$model->course->course_name.' yang akan berlangsung pada '.date("d/m/Y", strtotime($model->timetable->timetable_start_date)).'.
</p>
<p>Sekian, harap maklum</p>';
Yii::$app->emailModule->sendemail($to_mail, $subject_mail, $content_mail);
}
echo "<script>
Swal.fire({
icon: 'success',
title: 'Berjaya',
html: 'Status kehadiran telah dikemaskini',
}).then((result) => {
window.location.href = '/portal-main/application-list';
});
</script>";
}
}
}
if(!empty(Yii::$app->getRequest()->getQueryParam('action')) && Yii::$app->getRequest()->getQueryParam('action') == 'confirmattendancenotattend'){
$id = Yii::$app->getRequest()->getQueryParam('id');
if (($model = CourseApplication::findOne($id)) !== null) {
$model->confirm_attend_status=2;
if($model->save()){
echo "<script>
Swal.fire({
icon: 'success',
title: 'Berjaya',
html: 'Status kehadiran telah dikemaskini',
}).then((result) => {
window.location.href = '/portal-main/application-list';
});
</script>";
}
}
}
$query = CourseApplication::find()
->innerjoin('staff','course_application.application_staff_id=staff.staff_id')
->innerjoin('course_timetable','course_application.application_course_id=course_timetable.timetable_id')
->innerjoin('course','course_timetable.timetable_course_id=course.course_id')
->where(['=','application_submit_by',Yii::$app->user->identity->id]);
if(!empty($search_course)){
$query->andwhere(['LIKE','course_name',$search_course]);
}
if(!empty($search_name)){
$query->andwhere(['LIKE','staff_name',$search_name]);
}
if(!empty($search_ic)){
$query->andwhere(['LIKE','staff_ic_no',$search_ic]);
}
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => ['defaultOrder' => ['application_id' => SORT_DESC]],
'pagination' => ['pageSize' => false,'route' => 'portal-main/application-list'],
]);
echo '
<div class="page-title-box d-flex align-items-center justify-content-between">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="/portal-main/dashboard">Utama</a></li>
<li class="breadcrumb-item active">Status Permohonan</li>
</ol>
</div>
<div class="card table-responsive">
<div class="card-body">
<p class="text-danger">* Hanya kursus dalam status MENUNGGU KELULUSAN sahaja yang dibenarkan untuk pembatalan</p>
<p class="text-success">* Sila sahkan kehadiran anda pada permohonan yang telah diluluskan</p>
<p class="text-success">* Sila muat naik Surat Aku Janji pada permohonan yang telah diluluskan sebelum hari kursus</p>
</div>
</div>
<div class="card table-responsive">
<div class="card-body">';
$form = ActiveForm::begin(['action' => ['portal-main/application-list'], 'method' => 'get',]);
echo '<div class="row">
<div class="col-sm-4"><label>Nama Kursus</label>'.Html::input('text','search_course',$search_course, $options=['class'=>'form-control']).'</div>
<div class="col-sm-4"><label>Nama Peserta</label>'.Html::input('text','search_name',$search_name, $options=['class'=>'form-control']).'</div>
<div class="col-sm-4"><label>No. Kad Pengenalan</label>'.Html::input('text','search_ic',$search_ic, $options=['class'=>'form-control']).'</div>
<div class="col-sm-12 mt-3">
'.Html::submitButton(Yii::t('app', 'Cari'), ['class' => 'btn btn-outline-primary waves-effect waves-light']).'
'.Html::a(Yii::t('app', 'Set semula'),['portal-main/application-list'], ['class' => 'btn btn-outline-primary waves-effect waves-light']).'
</div>
</div>';
ActiveForm::end();
echo GridView::widget([
'dataProvider' => $dataProvider,
'summary' => '',
'emptyText'=>'Rekod Tidak Dijumpai.',
'tableOptions' => ['class' => 'table table-striped table-bordered table-custom mt-3'],
'columns' => [
['class' => 'yii\grid\SerialColumn', 'contentOptions' => ['class' => 'text-center', 'width' => '1%'],],
[
'header' => 'Nama Kursus',
'value' => function ($model) {
return $model->course->course_name;
}
],
[
'header' => 'Negeri',
'value' => function ($model) {
return \backend\modules\refdynawebv2\models\Ref::getDesc('STATE', $model->timetable->timetable_state, 'descr_en');
}
],
[
'header' => 'Tarikh Kursus',
'value' => function ($model) {
return $model->timetable->timetable_start_date;
}
],
[
'header' => 'Nama Peserta',
'value' => function ($model) {
return $model->staff->staff_name;
}
],
[
'header' => 'No. Kad Pengenalan',
'value' => function ($model) {
return $model->staff->staff_ic_no;
}
],
[
'attribute' => 'application_approval_status',
'value' => function ($model) {
return \backend\modules\refdynawebv2\models\Ref::getDesc('APPLY_STATUS', $model->application_approval_status);
}
],
[
'format'=>'raw',
'header'=>'Status Kehadiran',
'attribute' => 'confirm_attend_status',
'value' => function ($model) {
$output='';
if($model->application_approval_status == 'approved'){
$output = \backend\modules\refdynawebv2\models\Ref::getDesc('CONFIRM_ATTEND_STATUS', $model->confirm_attend_status);
if ($model->attendance_status == 0 && $model->warning_letter == 1){
if (empty($model->notattend_letter))
$output = '<span class="text-danger">Tidak hadir. Sila hantar Surat Tunjuk Sebab anda tidak hadir ke kursus.</span>';
if (!empty($model->notattend_letter))
$output = 'Tidak hadir';
}
}
return $output;
}
],
[
'header' => 'Tindakan',
'class' => 'yii\grid\ActionColumn',
'headerOptions' => ['class' => 'text-center text-nowrap', 'width' => '10%'],
'contentOptions' => ['class' => 'text-center text-nowrap', 'width' => '10%'],
'template' => '{delete}{confirmation}{warningletter}{updatests}{akujanji}',
'buttons' => [
'akujanji' => function ($url, $model){
if($model->application_approval_status == 'approved' && $model->confirm_attend_status == 1 && $model->warning_letter == 0){
return Html::a('<i class="mdi mdi-upload"></i>', ['portal-main/akujanji','id'=>$model->application_id], [
'title' => 'Muat Naik Borang Aku Janji',
'class' => 'action_link',
]);
}
},
'warningletter' => function ($url, $model){
if($model->warning_letter==1){
return Html::a('<i class="mdi mdi-file"></i>', ['site/warningletter','id'=>$model->application_id], [
'title' => 'Surat peringatan',
'class' => 'action_link',
'target'=>'_blank'
]);
}
},
'updatests' => function ($url, $model){
if($model->warning_letter==1){
return Html::a('<i class="mdi mdi-pencil"></i>', ['portal-main/uploadletter','id'=>$model->application_id], [
'title' => 'Muat Naik Surat Tunjuk Sebab',
'class' => 'action_link',
]);
}
},
'delete' => function ($url, $model){
if($model->application_approval_status=='pending'){
/*return Html::a('<i class="mdi mdi-trash-can-outline"></i>', null, [
'title' => 'Batal permohonan',
'class' => 'action_link',
'href' => 'javascript:void(0);',
'onclick' => 'deleteapplication('.$model->application_id.')',
]);*/
return Html::a('<i class="mdi mdi-trash-can-outline"></i>', ['portal-main/cancel-application','id'=>$model->application_id], [
'title' => 'Batal permohonan',
'class' => 'action_link',
]);
}
},
'confirmation' => function ($url, $model){
if($model->application_approval_status=='approved' && $model->confirm_attend_status == 0){
$output = Html::a('<i class="mdi mdi-checkbox-marked-outline"></i>', null, [
'title' => 'Sahkan kehadiran',
'class' => 'action_link',
'href' => 'javascript:void(0);',
'onclick' => 'confirmattendance('.$model->application_id.')',
]);
$output .= Html::a('<i class="mdi mdi-close-box-outline"></i>', ['portal-main/notattend','id'=>$model->application_id], [
'title' => 'Tidak akan hadir',
'class' => 'action_link',
//'href' => 'javascript:void(0);',
//'onclick' => 'confirmattendancenotattend('.$model->application_id.')',
]);
return $output;
}
},
]
],
],
]);
echo '</div>
</div>';
echo "<script>
function deleteapplication(id){
Swal.fire({
title: 'Batal permohonan',
text: 'Anda pasti untuk batalkan permohonan kursus ini?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, teruskan!',
cancelButtonText: 'Tidak',
}).then((result) => {
if (result.isConfirmed) {
window.location.href = '/portal-main/application-list?action=delete&id='+id;
}
});
}
function confirmattendance(id){
Swal.fire({
title: 'Sahkan kehadiran',
text: 'Anda pasti akan hadir kursus ini?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya',
cancelButtonText: 'Batal',
}).then((result) => {
if (result.isConfirmed) {
window.location.href = '/portal-main/application-list?action=confirmattendance&id='+id;
}
});
}
function confirmattendancenotattend(id){
Swal.fire({
title: 'Sahkan kehadiran',
text: 'Anda pasti tidak akan hadir kursus ini?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya',
cancelButtonText: 'Batal',
}).then((result) => {
if (result.isConfirmed) {
window.location.href = '/portal-main/application-list?action=confirmattendancenotattend&id='+id;
}
});
}
</script>";
?>