public function actionCreate() { $model = new Datoimpositivo(); if (isset($_POST['Datoimpositivo'])) { $model->setAttributes($_POST['Datoimpositivo']); if (isset($_POST['Datoimpositivo']['idcategoriaiva0'])) { $model->idcategoriaiva0 = $_POST['Datoimpositivo']['idcategoriaiva0']; } try { if ($model->save()) { $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se grabó correctamente.')); $this->redirect(array('manage')); } } catch (Exception $e) { $model->addError('', $e->getMessage()); } } elseif (isset($_GET['Datoimpositivo'])) { $model->attributes = $_GET['Datoimpositivo']; } $this->render('create', array('model' => $model)); }
public function actionUpdateSociedad($id, $opendialog = false) { $model = $this->loadModel($id); // validar con isset por si viene desde create con boton de guardar y agregar domicilio profesionales if (isset($model->iddatoimpositivo)) { $model_datoimpositivo = $model->iddatoimpositivo0; } else { $model_datoimpositivo = new Datoimpositivo(); } $model_domicilioprofesional = new Domicilioprofesional(); $model_domicilioprofesional->identidad = $model->identidad; $model_contacto = new Contacto(); // Genero el modelo de participacion para la sociedad y le paso como // parametro el id de la entidad $modelparticipacion = new Participacion(); $modelparticipacion->idsociedad = $model->identidad; if (isset($_POST['Sociedad'])) { $model->setAttributes($_POST['Sociedad']); try { $transac = Yii::app()->db->beginTransaction(); if ($model->validate()) { // se valida el modelo sociedad que es obligatorio // si se cargan datos impositivos if (strlen($_POST['Datoimpositivo']['cuit']) != 0) { $model_datoimpositivo->setAttributes($_POST['Datoimpositivo']); if ($model_datoimpositivo->save()) { $model->iddatoimpositivo = $model_datoimpositivo->iddatoimpositivo; } else { throw new Exception("Hubo un error al grabar datos impositivos de la sociedad"); } } // Guardo el modelo if ($model->save()) { $transac->commit(); // segun boton de grabar o agregar domicilios if (isset($_POST['savebutton'])) { $this->redirect(array('manageSociedad')); } else { // se usó boton domicilio, se redirige a la vista update para cargar domicilios $this->redirect(array('updateSociedad', 'id' => $model->identidad, "opendialog" => true)); // redirecciona a update para permitir cargar contactos } } } } catch (Exception $e) { $transac->rollback(); $model->addError('', $e->getMessage()); } } $this->render('update_sociedad', array('model' => $model, 'model_domicilioprofesional' => $model_domicilioprofesional, 'model_datoimpositivo' => $model_datoimpositivo, 'model_contacto' => $model_contacto, 'modelparticipacion' => $modelparticipacion, 'opendialog' => $opendialog)); }