public function actionCreate() { $model = new Osagrupacion(); $modelContrato = new Contrato(); $modelContacto = new Contacto(); if (isset($_POST['Osagrupacion'], $_POST['Contrato'])) { $model->setAttributes($_POST['Osagrupacion']); $model->nombre = strtoupper($model->nombre); $modelContrato->setAttributes($_POST['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 { $model->validate(); if ($modelContrato->save()) { $model->idcontrato = $modelContrato->idcontrato; if ($model->save()) { $transac->commit(); if (!isset($_POST['contactbutton'])) { // si se uso el boton grabar, esto es true, si se uso el boton contacto, es falso $this->redirect(array('manage')); } else { // se usó boton contacto, se redirige a la vista update para cargar contactos $modelContacto->idosagrupacion = $model->idosagrupacion; $this->redirect(array('update', 'id' => $model->idosagrupacion, "opendialog" => true)); // redirecciona a update para permitir cargar contactos } } 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('create', array('model' => $model, 'modelContrato' => $modelContrato, 'modelContacto' => $modelContacto, 'opendialog' => false)); }
public function actionManage() { $model = new Contrato('search'); $model->unsetAttributes(); if (isset($_GET['Contrato'])) { $model->setAttributes($_GET['Contrato']); } $this->render('manage', array('model' => $model)); }