Problema con before_filter "Validando El usario"

edited febrero 2008 in Dudas/Problemas
Hola buenas a tod@s.....

veran me encuentro desarrollando mi primera aplicacion en kumbia, lo cual me ha parecido muy rapido y practico, pero tengo un detalle he usado formularios StandarForm y ApplicationController para la generación de maestros, captura de datos en fin lo básico de un sistema que maneja usuarios.

pero mi duda en estos momentos es que cuando mi formulario es de tipo ApplicationController y aplico la funcion before_filter en al cual valido si la session correspondiente al usuario logueado ya fue creada y si no redirigirlo a la principal.....
public function before_filter(){
			if(!Session::isset_data("id_user")){
				return $this->route_to("controller: principal");
			}
		}

lo cual funciona pero ese mismo código en un formulario StandarForm no funciona y es mas saca este error
Fatal error: Class 'principalController' not found in D:\AppServ\www\siir\forms\generator\main.php(107) : eval()'d code on line 1

no se exactamente que es ya he probado de varias formas y nada de nada a alguien le ha pasado eso..=?

me gustaria poder temrinar la aplicacion de prueba que ando haciendo apra poder manejar y colaborara con este maravilloso FrameWork...

aca les dejo mi correo por si alguien me puede colaborara con esto.... y otros duditas

m_ecano[arroba]hotmail[punto]com

Comentarios

  • Prueba de esta forma...
    public function before_filter(){
             if(!Session::isset_data("id_user")){
                $this->route_to("controller: principal");
                return 'error';
             }
          }
    
  • edited 8:17
    Cambie mi funcion de la siguiente forma
    class AreaController extends StandardForm {
    	   public $scaffold = true;	   
    		/*
    		*  Esta propiedad determina cual  plantilla utilizara 
    		*  la vista generada
    		*/
    		public $template = "seccion_admin";
    		
    		
    		public function __construct(){
    			//Hace a los campos de caracter obligatorio
    			$this->show_not_nulls();
    			//$this->set_hidden("id");
    			
    			$this->set_text_upper("nombre");
    		   	
    			
    			$this->set_type_textarea("detalles");
    			$this->set_attribute("detalles", "rows", 5);
    			
    		}
    		
    		// Esta funcionn se ejecuta antes que cualquier cosa en el contralador
    		// si el usario ya se registro y creo su variable de session puede continuar
    		// de lo contrario es redireccionado al pantallazo inicial
    		public function before_filter(){
             if(!Session::isset_data("id_user")){
                $this->route_to("controller: principal");
                return 'error';
             }
          }
    			
    			/*if(!Session::isset_data("id_user")){
    				return $this->route_to("controller: principal");
    			}
    		*/
    	   
    	}
    

    y la verdad sigue saliendo
    Fatal error: Class 'principalController' not found in D:\AppServ\www\siir\forms\generator\main.php(107) : eval()'d code on line 1
    

    Algun Comentario
  • ok, Dime algo existe esa clase principal? porq el error es cuando el framework intenta buscar esa class...
  • edited 8:17
    La clase Principal si existe el codigo es :
    <?php
    	class Principalcontroller extends ApplicationController{
    		
    		//Plantlla Utilizada por la aplicacion 
    		public $template="publica";
    		
    		function index(){
    			
    		}
    	}
    ?>
    

    en donde lo unico que hace es mostrar la pantalla inicial de la aplicacion lo cual si funciona al dar en mi navegador localhost/[nombredemisitio]

    de hay mi duda.. pues relmaente no entiendo ... por que si funciona con la clase application y no con la StandarForm

    Gracias
  • creo que tu problema es como estas definiendo tu class, ya que tienes Principalcontroller y deberia ser PrincipalController...
    <?php
       class PrincipalController extends ApplicationController{
          
          //Plantlla Utilizada por la aplicacion
          public $template="publica";
          
          function index(){
             
          }
       }
    ?>
    
  • edited 8:17
    Precisamente, ese debería ser el problema, deben estar muy pendientes de estos detalles, porque la mayoria de errores que he visto que han posteado en el foro es por la falta de una letra mayuscula.

    Avisanos si funciona. <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
  • edited 8:17
    Hola...

    Despues de verificar el código y colocar la letra inicial de Controller en Mayuscula y verificar que en la funcion de redireccion este llamando a el Controlador Principal....

    El mensaje o resultado obtenido es......
    Fatal error&#58; Class 'PrincipalController' not found in D&#58;\AppServ\www\siir\forms\generator\main&#46;php&#40;107&#41; &#58; eval&#40;&#41;'d code on line 1
    

    Lo cual me deja en la misma situación con clases Applicatios funciona de maravilla pero con StandarForms nop....

    que creen que ustedes que pueda ser o como se podría resolver este pequeño detalle.. pues de resto no hay queja de KUMBIA............. muy bien echo !!!!
  • edited 8:17
    Podrías poner mas detalles del proyecto como los nombres de los archivos y demás. Lo mejor seria de cada archivo poner el nombre y el contenido del mismo para ver donde radica el problema.
  • edited 8:17
    Bueno despues de un largo receso decidi retomar mi projecto KUMBIa y ando armandolo desde cero y arreglando detalles técnicos de visualización [ie-firefox] y obviamente este detalle de redirecionamiento.......

    en vista que ninguna opción me permitía redireccionar al usuario que no este autenticado lo hice de la siguiente forma y me funciono sin problemas.
    // Esta funcionn se ejecuta antes que cualquier cosa en el contralador
    		// si el usario ya se registro y creo su variable de session puede continuar
    		// de lo contrario es redireccionado al pantallazo inicial
    		public function before_filter(){
             if(!Session&#58;&#58;isset_data(&quot;id_user&quot;)){
           		header(&quot;Location&#58; http&#58;//&quot;&#46;$_SERVER&#91;'HTTP_HOST'&#93;&#46;KUMBIA_PATH); exit;
             }
    

    Espero le sirva a alguien más...nos vemos....

    Gracias por la colaboracion
Sign In or Register to comment.