예제 #1
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $ficha_tecnica = FichaTecnica::model()->findByPk($id);
     if (isset($_POST['FichaTecnica'])) {
         $ficha_tecnica->attributes = $_POST['FichaTecnica'];
         if ($ficha_tecnica->save()) {
             Yii::app()->user->setFlash('success', $ficha_tecnica->campo . ' guardado con éxito');
             $pgDocumental = PgDocumental::model()->with('pagina')->findByPk($ficha_tecnica->pg_documental_id);
             $this->redirect(array('view', 'id' => $pgDocumental->pagina->micrositio_id));
         }
         //if($ficha_tecnica->save())
     }
     //if(isset($_POST['FichaTecnica']))
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     $this->render('modificar', array('model' => $ficha_tecnica));
 }
예제 #2
0
파일: Pagina.php 프로젝트: Telemedellin/tm
 protected function beforeDelete()
 {
     $this->transaccion = $this->dbConnection->getCurrentTransaction();
     if ($this->transaccion === null) {
         $this->transaccion = $this->dbConnection->beginTransaction();
     }
     try {
         // 1. Desasignar de los micrositios que la tengan por defecto.
         $micrositios = Micrositio::model()->findAllByAttributes(array('pagina_id' => $this->id));
         foreach ($micrositios as $m) {
             $m->pagina_id = NULL;
             $m->save();
         }
         // 3.Verifico el tipo de página para ver si tiene una tabla auxiliar
         $tabla = $this->tipoPagina->tabla;
         $t = new $tabla();
         $contenido = $t->findByAttributes(array('pagina_id' => $this->id));
         switch ($tabla) {
             case 'PgPrograma':
                 Horario::model()->deleteAllByAttributes(array('pg_programa_id' => $contenido->id));
                 break;
             case 'PgDocumental':
                 FichaTecnica::model()->deleteAllByAttributes(array('pg_documental_id' => $contenido->id));
                 break;
                 /*case 'Carpeta':
                 		Carpeta::model()->vaciar_carpeta( $contenido->id );
                 		break;/**/
             /*case 'Carpeta':
             		Carpeta::model()->vaciar_carpeta( $contenido->id );
             		break;/**/
             case 'PgFiltro':
                 FiltroItem::model()->deleteAllByAttributes(array('pg_filtro_id' => $contenido->id));
                 break;
             case 'PgBloques':
                 Bloque::model()->deleteAllByAttributes(array('pg_bloques_id' => $contenido->id));
                 break;
             case 'PgEventos':
                 Evento::model()->deleteAllByAttributes(array('pg_eventos_id' => $contenido->id));
                 break;
         }
         // 4. Borro la tabla pg_
         //$this->transaccion->commit();
         return parent::beforeDelete();
     } catch (Exception $e) {
         $this->transaccion->rollback();
         return false;
     }
 }