Exemplo n.º 1
0
 /**
       var @count int $name Description
      *      */
 public function actionRequestizin()
 {
     $model = new FormIzin();
     $idUser = Yii::$app->user->id;
     $mahasiswaLogin = AitkRMahasiswa::find()->where(['account_id' => $idUser])->one();
     /* HAPUS INI UNTUK PENGGUNAAN RBAC */
     /*         * **** */
     if (!isset($mahasiswaLogin)) {
         $this->redirect(Yii::$app->homeUrl);
     }
     /*         * **** */
     $semester = $mahasiswaLogin->semester;
     $jurusan = $mahasiswaLogin->jurusan;
     $count = AitkRMatakuliah::find()->where(['semester' => $semester])->andWhere(['jurusan' => NULL])->orWhere(['jurusan' => $jurusan])->count();
     $allMatakuliah = AitkRMatakuliah::find()->where(['semester' => $semester])->andWhere(['jurusan' => NULL])->orWhere(['jurusan' => $jurusan])->orderBy('matakuliah_id')->all();
     $matkulId = array();
     $arrMatkul = array();
     foreach ($allMatakuliah as $valueMatkul => $key) {
         foreach ($key as $val => $isi) {
             if ($val == "alias") {
                 $arrMatkul[] = $key[$val];
             }
         }
     }
     foreach ($allMatakuliah as $valueMatkul => $key) {
         foreach ($key as $val => $isi) {
             if ($val == "matakuliah_id") {
                 $matkulId[] = $key[$val];
             }
         }
     }
     $model->nama_mahasiswa = $mahasiswaLogin->nama_mahasiswa;
     $model->nim = $mahasiswaLogin->nim;
     $model->kelas = $mahasiswaLogin->kelas->kode_kelas;
     $model->semester = $mahasiswaLogin->semester;
     $model->dosen_wali = $mahasiswaLogin->kelas->wali0->nama_dosen;
     if ($model->load(Yii::$app->request->post())) {
         if (!$model->validate()) {
             return $this->render('requestIzin', ['model' => $model, 'count' => $count, 'arrMatkul' => $arrMatkul, 'matkulId' => $matkulId, 'mahasiswaLogin' => $mahasiswaLogin]);
         }
         $model->file_lampiran = UploadedFile::getInstance($model, 'file_lampiran');
         $currdate = date("Y-m-d");
         $nama_file = "";
         if ($model->file_lampiran) {
             if (empty($model->lampiran)) {
                 Yii::$app->getSession()->setFlash('warning', ['type' => 'warning', 'delay' => 50000, 'icon' => 'glyphicon glyphicon-warning-sign', 'message' => 'Jika memiliki photo lampiran, pastikan isi kode surat/lampiran tersebut', 'title' => 'Lampiran salah']);
                 return $this->redirect(['requestizin']);
             }
             $nama_file = $currdate . $mahasiswaLogin->nim . current(explode(' ', $model->lampiran)) . '.' . $model->file_lampiran->extension;
             $model->file_lampiran->saveAs('file_lampiran/' . $nama_file);
         }
         $tanggal = explode(' ', $model->tanggal);
         if (!empty($model->tanggal)) {
             $request = new AitkRequest();
             $request->alasan_ijin = $model->alasan_ijin;
             $request->dosen_wali = $mahasiswaLogin->kelas->wali0->dosen_id;
             $request->mahasiswa_id = $mahasiswaLogin->mahasiswa_id;
             $request->tujuan_sms_pengurus = $model->tujuan_sms;
             $request->lampiran = $model->lampiran;
             $request->requester = $mahasiswaLogin->mahasiswa_id;
             $request->tipe_ijin = strtolower($model->tipe_ijin) == 'k' ? 'Keluar' : (strtolower($model->tipe_ijin) == 's' ? 'Tidak Hadir' : '');
             $request->file_lampiran = $nama_file;
             $request->waktu_start = $tanggal[0] . ' ' . $tanggal[1];
             $request->waktu_end = $tanggal[3] . ' ' . $tanggal[4];
             if ($request->save()) {
                 $nama = $request->mahasiswa->nama_mahasiswa;
                 $nim = $request->mahasiswa->nim;
                 $tempMulai = explode(' ', $request->waktu_start)[1];
                 $tempSelesai = explode(' ', $request->waktu_end)[1];
                 $mulai = substr($tempMulai, 0, 5);
                 $selesai = substr($tempSelesai, 0, 5);
                 $tipeIzin = $request->tipe_ijin == "K" ? "Keluar" : "Tidak Hadir";
                 $id = $request->request_id;
                 $sms = current(explode(" ", $nama)) . "/" . $nim . "/" . $request->mahasiswa->angkatan . " " . $tipeIzin . " " . $mulai . "-" . $selesai . " \"" . $request->alasan_ijin . "\" " . "balas 'IZIN YA {$id}' atau 'IZIN TIDAK {$id}'";
                 $this->sendSMS($sms, $mahasiswaLogin->kelas->wali0->handphone);
                 $status = count($model->matakuliahList);
                 //                    echo $status;
                 //                    die();
                 if (strtolower($model->tipe_ijin) == 's') {
                     if ($status > 0) {
                         $this->InsertToTemp($model, $request->request_id);
                     }
                 }
                 return $this->redirect(['index']);
             } else {
                 Yii::$app->getSession()->setFlash('danger', ['type' => 'danger', 'delay' => 50000, 'icon' => 'glyphicon glyphicon-exclamation-sign', 'message' => 'Tidak Dapat Menyimpan Data', 'title' => 'Error Saat Menyimpan Data']);
                 //
                 return $this->redirect(['requestizin']);
             }
         } else {
             Yii::$app->getSession()->setFlash('warning', ['type' => 'warning', 'delay' => 50000, 'icon' => 'glyphicon glyphicon-warning-sign', 'message' => 'Tolong Field Waktu Izin Di Isi', 'title' => 'Waktu Izin Tidak di Isi']);
             return $this->redirect(['requestizin']);
         }
         //            }
     } else {
         return $this->render('requestIzin', ['model' => $model, 'count' => $count, 'arrMatkul' => $arrMatkul, 'matkulId' => $matkulId, 'mahasiswaLogin' => $mahasiswaLogin]);
     }
 }