public function actionIndex($id) { if (isset($_POST['limit'])) { $limit = $_POST['limit']; } else { $limit = 20; } if (isset($_POST['start'])) { $start = $_POST['start']; } else { $start = 0; } //$model = new PahAnggaranDetil('search'); //$model->unsetAttributes(); $criteria = new CDbCriteria(); // $criteria->limit = $limit; // $criteria->offset = $start; $criteria->addCondition("pah_anggaran_id =" . $id); $model = PahAnggaranDetil::model()->findAll($criteria); $total = PahAnggaranDetil::model()->count($criteria); if (isset($_GET['PahAnggaranDetil'])) { $model->attributes = $_GET['PahAnggaranDetil']; } if (isset($_GET['output']) && $_GET['output'] == 'json') { $this->renderJson($model, $total); } else { $model = new PahAnggaranDetil('search'); $model->unsetAttributes(); $this->render('admin', array('model' => $model)); } }
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 = PahAnggaran::model()->findByPk($id); PahAnggaranDetil::model()->deleteAll('pah_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 PahAnggaranDetil(); $_POST['PahAnggaranDetil']['pah_chart_master_account_code'] = $detil['pah_chart_master_account_code']; $_POST['PahAnggaranDetil']['amount'] = $detil['amount']; $_POST['PahAnggaranDetil']['pah_anggaran_id'] = $anggaran->id; $anggaran_detil->attributes = $_POST['PahAnggaranDetil']; 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('pahAnggaranDetils')); echo CJSON::encode(array('success' => $status, 'bulan' => $bulanStr, 'tahun' => $tahun, 'id' => $docref, 'msg' => $msg)); Yii::app()->end(); } $model = $this->loadModel($id, 'PahAnggaran'); if (isset($_POST) && !empty($_POST)) { foreach ($_POST as $k => $v) { $_POST['PahAnggaran'][$k] = $v; } $model->attributes = $_POST['PahAnggaran']; if ($model->save()) { $status = true; $msg = "Data berhasil di simpan "; } else { $msg = CHtml::errorSummary($model); $status = false; } if (Yii::app()->request->isAjaxRequest) { echo CJSON::encode(array('success' => $status, 'msg' => $msg, 'id' => $model->id)); Yii::app()->end(); } else { $this->redirect(array('view', 'id' => $model->id)); } } $this->render('update', array('model' => $model)); }