Пример #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)
 {
     $bloque = Bloque::model()->findByPk($id);
     if (isset($_POST['Bloque'])) {
         $bloque->attributes = $_POST['Bloque'];
         if ($bloque->save()) {
             Yii::app()->user->setFlash('success', 'Bloque ' . $bloque->titulo . ' guardado con éxito');
             $this->redirect($_POST['returnUrl'] ? $_POST['returnUrl'] : $this->createUrl('pagina/view', array('id' => $bloque->pgBloques->pagina_id)));
         }
     }
     //if(isset($_POST['Bloque']))
     $this->render('modificar', array('model' => $bloque));
 }
Пример #2
0
 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;
     }
 }