Exemple #1
0
 /**
  * Cambiamos el orden de un rango.
  * @param int $rango ID del rango al que cambiar su orden.
  * @param int $posicion Posición que debe adoptar el nuevo rango. Empieza en 1.
  */
 public function action_mover_rango($rango, $posicion)
 {
     // Verifico la posición.
     $posicion = (int) $posicion;
     if ($posicion <= 0) {
         $_SESSION['flash_error'] = 'La posición que deseas asignar no es correcta.';
         Request::redirect('/admin/usuario/rangos');
     }
     $rango = (int) $rango;
     // Verifico existencia del rango.
     $model_rango = new Model_Usuario_Rango($rango);
     if (!$model_rango->existe()) {
         $_SESSION['flash_error'] = 'El rango que deseas mover no se encuentra disponible.';
         Request::redirect('/admin/usuario/rangos');
     }
     // Verifico la posición.
     if ($model_rango->orden === $posicion || $posicion > $model_rango->cantidad()) {
         $_SESSION['flash_error'] = 'La posición que deseas asignar no es correcta.';
         Request::redirect('/admin/usuario/rangos');
     }
     // Asignamos la posición.
     $model_rango->posicionar($posicion);
     // Informamos.
     $_SESSION['flash_success'] = 'El rango se ha movido correctamente.';
     Request::redirect('/admin/usuario/rangos');
 }