public function actionUpdate($id) { $model = $this->loadModel($id); if (isset($model->iddomicilio)) { $modelDomicilio = $model->iddomicilio0; } else { $modelDomicilio = new Domicilio(); } if (isset($_POST['Osplan'])) { $model->setAttributes($_POST['Osplan']); $model->iddomicilio = null; try { if (strlen($_POST['Domicilio']['calle']) != 0) { $modelDomicilio->setAttributes($_POST['Domicilio']); $modelDomicilio->iddomiciliotipo = Domiciliotipo::PARTICULAR; if ($modelDomicilio->save()) { $model->iddomicilio = $modelDomicilio->iddomicilio; } else { throw new Exception("Hubo un error al grabar el domicilio de entrega"); } } if ($model->save()) { $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.')); $this->redirect(array('manage')); } } catch (Exception $e) { $model->addError('', $e->getMessage()); } } $this->render('update', array('model' => $model, 'modelDomicilio' => $modelDomicilio)); }
public function actionCreate() { $model = new Osfacturacion(); $modelDomicilio = new Domicilio(); if (isset($_POST['Osfacturacion'], $_POST['Domicilio'])) { $model->setAttributes($_POST['Osfacturacion']); $model->nombre = strtoupper($model->nombre); $modelDomicilio->setAttributes($_POST['Domicilio']); $modelDomicilio->iddomiciliotipo = Domiciliotipo::PARTICULAR; $transac = Yii::app()->db->beginTransaction(); try { if ($modelDomicilio->save()) { $model->iddomicilio = $modelDomicilio->iddomicilio; if ($model->save()) { $transac->commit(); $this->redirect(array('view', 'id' => $model->idosfacturacion)); } else { throw new Exception("Hubo un error al grabar la OOSS"); } } else { throw new Exception("Hubo un error al grabar el domicilio"); } } catch (Exception $e) { $model->addError('', $e->getMessage()); $transac->rollback(); } } $this->render('create', array('model' => $model, 'modelDomicilio' => $modelDomicilio)); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Domicilio(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Domicilio'])) { $model->attributes = $_POST['Domicilio']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }
public function actionCreateProfesional() { // Instancio modelos que se van a usar en el formulario $model = new Profesional(); $model_conyuge = new Conyuge(); $model_domicilioprofesional = new Domicilioprofesional(); $model_contacto = new Contacto(); $model_domicilio = new Domicilio(); $modellocalidad = new Localidad(); $model_datoimpositivo = new Datoimpositivo(); if (isset($_POST['Profesional'], $_POST['Domicilio'])) { $model->setAttributes($_POST['Profesional']); $model->idlocalidad = isset($_POST['Localidad']['idlocalidad']) ? $_POST['Localidad']['idlocalidad'] : null; $model_domicilio->setAttributes($_POST['Domicilio']); $model_domicilio->iddomiciliotipo = Domiciliotipo::PARTICULAR; try { $transac = Yii::app()->db->beginTransaction(); // si se carga conyuge, este modelo es opcional en el formulario if (strlen($_POST['Conyuge']['apellido']) != 0) { $model_conyuge->setAttributes($_POST['Conyuge']); if ($model_conyuge->save()) { $model->idconyuge = $model_conyuge->idconyuge; } else { throw new Exception("Hubo un error al grabar datos del Cónyuge"); } } if ($model->validate() && $model_domicilio->validate()) { // estos dos modelos del formulario son obligatorios // 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 del Profesional"); } } if ($model->save(false)) { $model_domicilio->identidad = $model->identidad; } else { throw new Exception("Hubo un error al grabar datos del Profesional"); } if (!$model_domicilio->save(false)) { throw new Exception("Hubo un error al grabar datos del Domicilio"); } $transac->commit(); // segun boton de grabar o agregar domicilios if (isset($_POST['savebutton'])) { $this->redirect(array('manageProfesional')); } else { // se usó boton domicilio, se redirige a la vista update para cargar domicilios $this->redirect(array('updateProfesional', 'id' => $model->identidad, "opendialog" => true)); // redirecciona a update para permitir cargar contactos } } } catch (Exception $e) { $transac->rollback(); $model->addError('', $e->getMessage()); } } $this->render('create_profesional', array('model' => $model, 'model_conyuge' => $model_conyuge, 'model_domicilio' => $model_domicilio, 'model_domicilioprofesional' => $model_domicilioprofesional, 'model_datoimpositivo' => $model_datoimpositivo, 'model_contacto' => $model_contacto, 'modellocalidad' => $modellocalidad, 'opendialog' => false)); }
public function actionUpdate($id) { $model = $this->loadModel($id); $modelDomicilio = new Domicilio(); $modellocalidad = new Localidad(); // Traigo los parámetros de la carga según el id del plan $models_parametros_carga = Parametrocarga::model()->getParametros($id); $model_campos_carga = new Carga(); // campos que son para carga de archivos de modalidad $modalidades = array("modalidadapertura", "modalidadcarga", "modalidadfacturacion", "modalidadoperativa"); //modelo nomenclador plan $modelnomenplan = new Nomencladorplan(); //asignar idosplan para cargar el nomenclador del plan $modelnomenplan->idosplan = $model->idosplan; if (isset($_POST['Osplan'])) { $model->setAttributes($_POST['Osplan']); if ($_POST['Osplan']['iddomicilio'] == '0') { $model->iddomicilio = null; } try { $transac = Yii::app()->db->beginTransaction(); if (strlen($_POST['Domicilio']['calle']) != 0) { $modelDomicilio->setAttributes($_POST['Domicilio']); $modelDomicilio->idlocalidad = $_POST['Localidad']['idlocalidad']; $modelDomicilio->iddomiciliotipo = Domiciliotipo::PARTICULAR; if ($modelDomicilio->save()) { $model->iddomicilio = $modelDomicilio->iddomicilio; } else { throw new Exception("Hubo un error al grabar el domicilio de entrega"); } } // archivos de modalidad subidos // si se envia desde el formulario, se asigna y // se graba. El nombre del archivo esta definido en el modelo osplan->archivomodalidadd() foreach ($modalidades as $modalidad) { if (CUploadedFile::getInstance($model, $modalidad) !== null) { $model->{$modalidad} = CUploadedFile::getInstance($model, $modalidad); $model->{$modalidad}->saveAs($model->archivomodalidad($modalidad)); } } // si se selecciona el checkbox de borrar archivo de modalidad foreach ($modalidades as $modalidad) { if (isset($_POST['borrar' . $modalidad])) { $model->{$modalidad} = NULL; @unlink($model->archivomodalidad($modalidad)); } } if ($model->save()) { if (isset($_POST['Parametrocarga'])) { $hayerror = false; foreach ($_POST['Parametrocarga'] as $i => $item) { $model_parametro_carga = $models_parametros_carga[$i]; // Asigno el modelo $model_parametro_carga->setAttributes($_POST['Parametrocarga'][$i]); // 04/05/2015 JMG Almaceno todos los campos, incluidos los no editables pero estos // pueden ser obligatorios o no dependiendo de la metadata de la bd if ($model_campos_carga->getMetaData()->columns[$model_parametro_carga->campo]->comment == "NOEDITABLE") { if ($model_campos_carga->getMetaData()->columns[$model_parametro_carga->campo]->allowNull) { $model_parametro_carga->idopcioncampocarga = Opcioncampocarga::OPCIONAL; } else { $model_parametro_carga->idopcioncampocarga = Opcioncampocarga::OBLIGATORIO; } } $model_parametro_carga->idosplan = $model->idosplan; if (!$model_parametro_carga->save()) { $hayerror = true; } } if ($hayerror) { throw new Exception("Error al grabar parametros"); } } // NOMENCLADOR // borrar nomenclador if (isset($_POST['borrarnomenclador'])) { try { Nomencladorplan::model()->deleteAllByAttributes(array('idosplan' => $id)); } catch (Exception $e) { throw new CHttpException(500, $e->getMessage()); } // grabar todo y redirigir a manage $transac->commit(); $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.')); $this->redirect(array('manage')); } // borrar practicas seleccionadas if (isset($_POST['id-borrar'])) { $ids = $_POST['id-borrar']; // arreglo con las idpracticas a borrar try { Nomencladorplan::model()->deleteAllByAttributes(array('idnomencladorplan' => $ids)); } catch (Exception $e) { throw new CHttpException(500, $e->getMessage()); } // grabar todo y redirigir a manage $transac->commit(); $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.')); $this->redirect(array('manage')); } // else { // ARMADO de Nomenclador: grabar en tabla nomencladorplan $marcatodas = false; $rango = false; // si se seleccionó un momenclador, la variable idnomenclador es true // y se analizan las variables de resto del formulario // para armar el nomenclador. // si no se manda idnomenclador, es porque se actualizan datos del osplan // pero no se arma nomenclador if ($_POST['idnomenclador'] == true) { $idnomenclador = $_POST['idnomenclador']; // filtro de tipo de practicas $idpractipo = isset($_POST['idpractipo']) ? $_POST['idpractipo'] : false; // controlar si seleccionaron rangos if (isset($_POST['rangodesde']) && isset($_POST['rangohasta'])) { $rango = true; $rangodesde = $_POST['rangodesde']; $rangohasta = $_POST['rangohasta']; // // controlar que no este vacio algun rango if (in_array('', $rangodesde)) { $rango = false; } if (in_array('', $rangohasta)) { $rango = false; } //error de rango if (!$rango) { throw new Exception("Error en el rango de prácticas"); } } // todas las practicas seleccionadas // si se marca, se anula el rango. // y se seleccionan todas. if (isset($_POST['marcatodas'])) { $marcatodas = true; $rango = false; } // en caso de seleccionar todas if ($marcatodas) { // $idpracticas es un arreglo de idpracticas encontradas $idpracticas = Practica::model()->search3($idnomenclador, $idpractipo); foreach ($idpracticas as $key => $value) { $modelnomencladorplan = new nomencladorplan(); $modelnomencladorplan->idosplan = $model->idosplan; $modelnomencladorplan->idpractica = $value; // grabar registro en tabla nomencladorplan $modelnomencladorplan->save(); } } // en caso de seleccionar por rango if ($rango) { // $idpracticas es un arreglo de idpracticas encontradas foreach ($rangodesde as $key => $valordesde) { $idpracticas = Practica::model()->search4($valordesde, $rangohasta[$key], $idpractipo); if (!$idpracticas) { throw new Exception("Error en el rango de prácticas"); } foreach ($idpracticas as $key => $value) { $modelnomencladorplan = new nomencladorplan(); $modelnomencladorplan->idosplan = $model->idosplan; $modelnomencladorplan->idpractica = $value; // grabar registro en tabla nomencladorplan $modelnomencladorplan->save(); } } } } // grabar todo y redirigir a manage $transac->commit(); $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.')); $this->redirect(array('manage')); } } catch (Exception $e) { $transac->rollback(); $model->addError('', $e->getMessage()); } } $this->render('update', array('model' => $model, 'modelDomicilio' => $modelDomicilio, 'modellocalidad' => $modellocalidad, 'models_parametros_carga' => $models_parametros_carga, 'model_campos_carga' => $model_campos_carga, 'modelnomenplan' => $modelnomenplan)); }
$partidodeptoActual = $partidodeptoActual->Descripcion(strtoupper($_POST["partido_depto"])); $partidodeptoActual->save(); $domicilioActual = new Domicilio(); $domicilioActual->barrio = strtoupper($_POST["barrio"]); $domicilioActual->nro_calle = strtoupper($_POST["nro_calle"]); $domicilioActual->piso = strtoupper($_POST["piso"]); $domicilioActual->depto = strtoupper($_POST["depto"]); $domicilioActual->cod_postal = strtoupper($_POST["cod_postal"]); $domicilioActual->telefono = strtoupper($_POST["telefono"]); $domicilioActual->Provincia = $provinciaActual; $domicilioActual->Localidad = $localidadActual; $domicilioActual->Calle = $calleActual; $domicilioActual->PartidoDepto = $partidodeptoActual; $domicilioActual->save(); } else { $domicilioActual = false; } $provinciaNacimiento = new Provincia(); $provinciaNacimiento = $provinciaNacimiento->Descripcion(strtoupper($_POST["provincia_nacimiento"])); $provinciaNacimiento->save(); $localidadNacimiento = new Localidad(); $localidadNacimiento = $localidadNacimiento->Descripcion(strtoupper($_POST["localidad_nacimiento"])); $localidadNacimiento->save(); $partidodeptoNacimiento = new PartidoDepto(); $partidodeptoNacimiento = $partidodeptoNacimiento->Descripcion(strtoupper($_POST["partido_nacimiento"])); $partidodeptoNacimiento->save();