public function actionUpdate()
 {
     if (!Yii::app()->request->isAjaxRequest) {
         return;
     }
     if (isset($_POST) && !empty($_POST)) {
         $status = false;
         $msg = 'Anggaran berhasil disimpan.';
         $bulanStr = $_POST['bulanStr'];
         $bulan = $_POST['periode_bulan'];
         $tahun = $_POST['periode_tahun'];
         $detils = CJSON::decode($_POST['detil']);
         $id = $_POST['id'];
         //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc');
         app()->db->autoCommit = false;
         $transaction = app()->db->beginTransaction();
         try {
             $anggaran = PeAnggaran::model()->findByPk($id);
             PeAnggaranDetil::model()->deleteAll('anggaran_id = ?', array($id));
             $docref = $anggaran->doc_ref;
             $anggaran->trans_date = Yii::app()->dateFormatter->format('yyyy-MM-dd', time());
             $anggaran->users_id = Yii::app()->user->getId();
             if (!$anggaran->save()) {
                 throw new Exception("Gagal menyimpan anggaran.");
             }
             foreach ($detils as $detil) {
                 $anggaran_detil = new PeAnggaranDetil();
                 $_POST['PeAnggaranDetil']['account_code'] = $detil['account_code'];
                 $_POST['PeAnggaranDetil']['amount'] = $detil['amount'];
                 $_POST['PeAnggaranDetil']['anggaran_id'] = $anggaran->id;
                 $anggaran_detil->attributes = $_POST['PeAnggaranDetil'];
                 if (!$anggaran_detil->save()) {
                     throw new Exception("Gagal menyimpan detil anggaran.");
                 }
             }
             $transaction->commit();
             $status = true;
         } catch (Exception $ex) {
             $transaction->rollback();
             $status = false;
             $msg = $ex;
         }
         //            $anggaran->withRelated->save(true,array('peAnggaranDetils'));
         echo CJSON::encode(array('success' => $status, 'bulan' => $bulanStr, 'tahun' => $tahun, 'id' => $docref, 'msg' => $msg));
         Yii::app()->end();
     }
     $model = $this->loadModel($id, 'PeAnggaran');
     if (isset($_POST) && !empty($_POST)) {
         foreach ($_POST as $k => $v) {
             $_POST['PeAnggaran'][$k] = $v;
         }
         $msg = "Data gagal disimpan";
         $model->attributes = $_POST['PeAnggaran'];
         if ($model->save()) {
             $status = true;
             $msg = "Data berhasil di simpan dengan id " . $model->id;
         } else {
             $msg .= " " . CHtml::errorSummary($model);
             $status = false;
         }
         if (Yii::app()->request->isAjaxRequest) {
             echo CJSON::encode(array('success' => $status, 'msg' => $msg));
             Yii::app()->end();
         } else {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('update', array('model' => $model));
 }
 public function actionIndex()
 {
     if (isset($_POST['limit'])) {
         $limit = $_POST['limit'];
     } else {
         $limit = 20;
     }
     if (isset($_POST['start'])) {
         $start = $_POST['start'];
     } else {
         $start = 0;
     }
     //$model = new PeAnggaranDetil('search');
     //$model->unsetAttributes();
     $criteria = new CDbCriteria();
     //$criteria->limit = $limit;
     //$criteria->offset = $start;
     $model = PeAnggaranDetil::model()->findAll($criteria);
     $total = PeAnggaranDetil::model()->count($criteria);
     if (isset($_GET['PeAnggaranDetil'])) {
         $model->attributes = $_GET['PeAnggaranDetil'];
     }
     if (isset($_GET['output']) && $_GET['output'] == 'json') {
         $this->renderJson($model, $total);
     } else {
         $model = new PeAnggaranDetil('search');
         $model->unsetAttributes();
         $this->render('admin', array('model' => $model));
     }
 }