public function actionUpdate($id, $opendialog = false) { $model = $this->loadModel($id); $modelContrato = $model->idcontrato0; $modelContacto = new Contacto(); $modelContacto->unsetAttributes(); $modelContacto->idosagrupacion = $id; if (isset($_POST['Osagrupacion'], $_POST['Contrato'])) { $model->setAttributes($_POST['Osagrupacion']); $model->nombre = strtoupper($model->nombre); $modelContrato->setAttributes($_POST['Contrato']); // si se selecciona el checkbox de borrar archivo, en /views/contrato/form_gral.php, se ponen en null los 3 campos del contrato if (isset($_POST['borrararchivo'])) { $modelContrato->contratoimg = $modelContrato->nombreimg = $modelContrato->imgtipo = NULL; } // si se envia un archivo de contrato, procesar carga de archivo de imagen de contrato: if (!empty($_FILES['Contrato']['tmp_name']['contratoimg'])) { $file = CUploadedFile::getInstance($modelContrato, 'contratoimg'); $modelContrato->nombreimg = $file->name; $modelContrato->imgtipo = $file->type; $fp = fopen($file->tempName, 'r'); $content = fread($fp, filesize($file->tempName)); fclose($fp); $modelContrato->contratoimg = $content; } $transac = Yii::app()->db->beginTransaction(); try { if ($modelContrato->save()) { $model->idcontrato = $modelContrato->idcontrato; if ($model->save()) { $transac->commit(); $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.')); $this->redirect(array('manage')); } else { throw new Exception("Hubo un error al grabar la OOSS"); } } else { throw new Exception("Hubo un error al grabar el Contrato"); } } catch (Exception $e) { $model->addError('', $e->getMessage()); $transac->rollback(); } } $this->render('update', array('model' => $model, 'modelContrato' => $modelContrato, 'modelContacto' => $modelContacto, 'opendialog' => $opendialog)); }
/** * Manages all models. */ public function actionAdmin() { $model = new Contacto('search'); $model->unsetAttributes(); // clear any default values if (isset($_GET['Contacto'])) { $model->attributes = $_GET['Contacto']; } $this->render('admin', array('model' => $model)); }
public function actionManage() { $model = new Contacto('search'); $model->unsetAttributes(); if (isset($_GET['Contacto'])) { $model->setAttributes($_GET['Contacto']); } $this->render('manage', array('model' => $model)); }