Esempio n. 1
0
 public function actionCreate()
 {
     $model = new Kegiatan();
     $id_user = Yii::app()->user->id;
     $objRegional = Regional::model()->findByAttributes(array('id_user' => $id_user));
     $id_regional = $objRegional->id_regional;
     //peserta
     if (Yii::app()->user->getLevel() == 3) {
         $sql = "SELECT id_peserta,nama FROM peserta WHERE status_aktif=1 and id_regional = '" . $id_regional . "' order by nama";
     } else {
         $sql = "SELECT id_peserta,nama FROM peserta WHERE status_aktif=1 order by id_regional, nama";
     }
     $dbCommand = Yii::app()->db->createCommand($sql);
     $peserta = $dbCommand->queryAll();
     $absensi = array();
     foreach ($peserta as $i => $item) {
         $id = $item['id_peserta'];
         $absensi[$id] = Absensi::model();
         $absensi[$id]->id_peserta = $id;
     }
     //end peserta
     if (isset($_POST['Absensi'])) {
         $model->attributes = $_POST['Kegiatan'];
         $model->id_regional = $id_regional;
         if ($model->waktu_mulai > $model->waktu_selesai) {
             Yii::app()->user->setFlash('errorWaktu', 'Waktu selesai lebih kecil atau sama dengan dari waktu mulai!');
             $this->redirect(array('create'), array('model' => $model, 'absensi' => $absensi));
         }
         $model->deadline = date('Y-m-t 23:59:59');
         $model->waktu_isi = date('Y-m-d H:i:s');
         $model->status_isi = 1;
         if ($model->save()) {
             $valid = true;
             foreach ($_POST['Absensi'] as $j => $item) {
                 if (isset($_POST['Absensi'][$j])) {
                     $absensi[$j] = new Absensi();
                     $absensi[$j]->id_peserta = $j;
                     $absensi[$j]->id_status = $_POST['Absensi'][$j]['id_status'];
                     $absensi[$j]->alasan = $_POST['Absensi'][$j]['alasan'];
                     $absensi[$j]->id_kegiatan = $model->id_kegiatan;
                     $absensi[$j]->save();
                 }
             }
             Yii::app()->user->setFlash('successTambah', 'Absensi sudah ditambahkan');
             $this->actionView($model->id_kegiatan);
             break;
         } else {
             Yii::app()->user->setFlash('gagalTambah', 'Gagal Simpan Kegiatan');
         }
     }
     $this->render('create', array('model' => $model, 'absensi' => $absensi));
 }