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)); } }