예제 #1
0
 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));
 }
예제 #2
0
 /**
  * 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));
 }
예제 #3
0
 public function actionManage()
 {
     $model = new Contacto('search');
     $model->unsetAttributes();
     if (isset($_GET['Contacto'])) {
         $model->setAttributes($_GET['Contacto']);
     }
     $this->render('manage', array('model' => $model));
 }