/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. * @param integer $id - cod_projeto */ public function actionCreate($id) { $model = new ProjetoOrcamento(); $projeto = $this->loadProjeto($id); $model->cod_projeto = $id; $model->projeto = $projeto; if (isset($_POST['ProjetoOrcamento'])) { $model->attributes = $_POST['ProjetoOrcamento']; if ($model->save()) { $this->redirect(array('/projeto/financeiro', 'id' => $model->cod_projeto)); } } $this->render('create', array('model' => $model)); }
/** * Salva todas as pessoas do projeto * @param integer $cod_projeto * @param Array $rubricas - Array associativo array('valor'=>X,'cod_rubrica'=>Y) * @return boolean - caso todas as alterações tenham sido efetivas. Util para fazer transactions */ private function salvaOrcamento($cod_projeto, $rubricas) { $rows = ProjetoOrcamento::model()->deleteAll('cod_projeto = ' . $cod_projeto); if ($rubricas === null) { return true; } foreach ($rubricas as $r) { $orc = new ProjetoOrcamento(); $orc->cod_rubrica = $r['cod_rubrica']; $orc->cod_projeto = $cod_projeto; $orc->valor = $r['valor']; //erro ao salvar -> retorna false if (!$orc->save()) { return false; } unset($orc); } return true; }