Validaciones del Negocio

De CidesaWiki

(Diferencias entre revisiones)
Saltar a navegación, buscar
(New page: Para agregar validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Gua...)
 
(34 ediciones intermedias no se muestran.)
Línea 1: Línea 1:
-
Para agregar validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Guardar) y Modificar la función handleErrorEdit.Ejemplo de la forma Almregart.
+
Para agregar validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el '''Actions.class.php''' está se ejecutara al mismo tiempo que las otras(al Guardar) y Modificar la función '''handleErrorEdit'''. Ejemplo de la forma bieregactinmd.
<pre>
<pre>
   private static $coderror=-1;  
   private static $coderror=-1;  
      
      
   public function validateEdit()
   public function validateEdit()
-
    {
+
  {
-
      if($this->getRequest()->getMethod() == sfRequest::POST)
+
    $resp=-1;
-
        {  
+
 
-
  $this->caregart = $this->getCaregartOrCreate();
+
    // Se deben llamar a las funciones necesarias para cargar los
-
  $this->updateCaregartFromRequest();
+
    // datos de la vista que serán usados en las funciones de validación.
-
   
+
    // Por ejemplo:
-
  self::$coderror=Articulos::validarAlmregart($this->caregart);
+
 
-
  if (self::$coderror<>-1)
+
    if($this->getRequest()->getMethod() == sfRequest::POST){
-
            {    
+
 
-
      return false;
+
      $this->Bnreginm = $this->getCaajuocOrCreate();
-
    }else return true;
+
      // $this->configGrid();
-
}else return true;  
+
      // $grid = Herramientas::CargarDatosGrid($this,$this->obj);
-
    }
+
           
-
+
      // Aqui van los llamados a los métodos de las clases del
 +
      // negocio para validar los datos.
 +
      // Los resultados de cada llamado deben ser analizados por ejemplo:
 +
 
 +
      //$resp = Bienes::validarBieregactinmd($this->Bnreginm,$grid);
 +
      $resp = Bienes::validarBieregactinmd($this->Bnreginm);
 +
 
 +
      // al final $resp es analizada en base al código que retorna
 +
      // Todas las funciones de validación y procesos del negocio
 +
      // deben retornar códigos >= -1. Estos código serám buscados en
 +
      // el archivo errors.yml en la función handleErrorEdit()
 +
 
 +
      if($resp!=-1){
 +
        $this->coderror = $resp;
 +
        return false;
 +
      } else return true;
 +
 
 +
    }else return true;  
 +
  }
 +
 +
 
   public function handleErrorEdit()
   public function handleErrorEdit()
 +
  {
 +
    $this->labels = $this->getLabels();
 +
       
 +
    $this->Bnreginm= $this->getBnreginmOrCreate();
 +
    $this->updateBnreginmFromRequest();   
 +
   
 +
       
 +
    if($this->getRequest()->getMethod() == sfRequest::POST)
     {
     {
-
       $this->preExecute();
+
       if($this->coderror!=-1){
-
      $this->caregart = $this->getCaregartOrCreate();
+
         $err = Herramientas::obtenerMensajeError($this->coderror);      
-
      $this->updateCaregartFromRequest();
+
        $this->getRequest()->setError('',$err);
-
      $this->labels = $this->getLabels();
+
      }
-
 
+
    }
-
      if(!$this->validateEdit())
+
    return sfView::SUCCESS;
-
         {
+
 
-
  $err = Herramientas::obtenerMensajeError(self::$coderror);      
+
  }
-
  $this->getRequest()->setError('caregart{codart}',$err);
+
-
        }
+
-
      return sfView::SUCCESS;
+
-
    }  
+
    
    
</pre>
</pre>
-
Las validaciones del Actions.class.php ultilizan un manejador de errores que se encuentra creado en la carpeta '''config''' , el cual se llama errores.yml, el cual contiene los códigos de los errores.
+
Las validaciones del '''Actions.class.php''' ultilizan un manejador de errores que se encuentra creado en la carpeta '''config''' , el cual se llama '''errores.yml''', el cual contiene los códigos de los errores:
<pre>
<pre>
1:
1:
Línea 45: Línea 69:
</pre>
</pre>
 +
Cabe destacar que existe un standarizacion acerca de estos código para genera los mensaje que se va a mostrar en la vista, dependiendo al modulo que pertenzca:
 +
{| border="1"  cellpadding="0" cellspacing="0" width="250" align="center"
 +
|+'''Tabla de Mensaje'''
 +
|-
 +
! style="background:#efefef;" | Módulo
 +
! colspan="2" style="background:#ffdead;" | #Error
 +
|-
 +
|style="background:LightYellow" | Generales
 +
| align="center" style="background:LightYellow" |1 - 99
 +
|-
 +
|Compras   
 +
|align="center" |100 - 199
 +
|-
 +
|style="background:LightYellow" | Bienes     
 +
| style="background:LightYellow" align="center" |200 - 299
 +
|-
 +
|Formulacion
 +
| align="center" |300 - 399
 +
|-
 +
|style="background:LightYellow" | Nomina     
 +
| style="background:LightYellow" align="center" |400 - 499
 +
|-
 +
|Tesoreria 
 +
| align="center" |500 - 599
 +
|-
 +
|style="background:LightYellow"|Contabilidad
 +
| style="background:LightYellow" align="center" |600 - 699
 +
|-
 +
|Hacienda   
 +
|align="center" |700 - 799
 +
|-
 +
|style="background:LightYellow"|Credito   
 +
| style="background:LightYellow" align="center" |800 - 899
 +
|-
 +
|Ingresos   
 +
|align="center" |900 - 999
 +
|-
 +
|style="background:LightYellow"|Obras/Contratos
 +
|style="background:LightYellow"  align="center" |1000 - 1099
 +
|-
 +
|Facturacion
 +
|align="center" |1100 - 1199
 +
|-
 +
|style="background:LightYellow"|Control de Documentos
 +
|style="background:LightYellow" align="center" |1200 - 1299
 +
|-
 +
|Presupuesto
 +
|align="center" |1300 - 1499
 +
|}
Estos errores se ejecutan cuando la función a la cual se le asigna $coderror devuelve códigos de errores  '''self::$coderror=Articulos::validarAlmregart($this->caregart);''', esta linea de código se encuentra en la funcion validateEdit(). Si la función validateEdit() retorna false se ejecuta la función handleErrorEdit() enviando el error a la vista.
Estos errores se ejecutan cuando la función a la cual se le asigna $coderror devuelve códigos de errores  '''self::$coderror=Articulos::validarAlmregart($this->caregart);''', esta linea de código se encuentra en la funcion validateEdit(). Si la función validateEdit() retorna false se ejecuta la función handleErrorEdit() enviando el error a la vista.
 +
 +
 +
--[[Usuario:Desi|Desi]] 16:34 26 abr 2007 (VET)
 +
--[[Usuario:Jlobaton|Jlobaton]] 11:54 16 ago 2007 (VET)

Última versión de 14:45 25 feb 2009

Para agregar validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Guardar) y Modificar la función handleErrorEdit. Ejemplo de la forma bieregactinmd.

  private static $coderror=-1; 
       	
  public function validateEdit()
  {
    $resp=-1;

    // Se deben llamar a las funciones necesarias para cargar los
    // datos de la vista que serán usados en las funciones de validación.
    // Por ejemplo:

    if($this->getRequest()->getMethod() == sfRequest::POST){

      $this->Bnreginm = $this->getCaajuocOrCreate();
      // $this->configGrid();
      // $grid = Herramientas::CargarDatosGrid($this,$this->obj);
             
      // Aqui van los llamados a los métodos de las clases del
      // negocio para validar los datos.
      // Los resultados de cada llamado deben ser analizados por ejemplo:

       //$resp = Bienes::validarBieregactinmd($this->Bnreginm,$grid);
       $resp = Bienes::validarBieregactinmd($this->Bnreginm);

      // al final $resp es analizada en base al código que retorna
      // Todas las funciones de validación y procesos del negocio
      // deben retornar códigos >= -1. Estos código serám buscados en 
      // el archivo errors.yml en la función handleErrorEdit()

      if($resp!=-1){
        $this->coderror = $resp; 
        return false;
      } else return true;

    }else return true; 
  }
	

  public function handleErrorEdit()
  {
    $this->labels = $this->getLabels();
        
    $this->Bnreginm= $this->getBnreginmOrCreate();
    $this->updateBnreginmFromRequest();    
    
        
    if($this->getRequest()->getMethod() == sfRequest::POST)
    {
      if($this->coderror!=-1){
        $err = Herramientas::obtenerMensajeError($this->coderror);	    
        $this->getRequest()->setError('',$err);	
      }
    }
    return sfView::SUCCESS;

  }
  

Las validaciones del Actions.class.php ultilizan un manejador de errores que se encuentra creado en la carpeta config , el cual se llama errores.yml, el cual contiene los códigos de los errores:

1:
  cod: 1
  msj: Nivel Anterior No Existe
2:
  cod: 2
  msj: El Codigo no puede estar en Blanco ó No puede Contener menos de 4 Carácteres

Cabe destacar que existe un standarizacion acerca de estos código para genera los mensaje que se va a mostrar en la vista, dependiendo al modulo que pertenzca:

Tabla de Mensaje
Módulo #Error
Generales 1 - 99
Compras 100 - 199
Bienes 200 - 299
Formulacion 300 - 399
Nomina 400 - 499
Tesoreria 500 - 599
Contabilidad 600 - 699
Hacienda 700 - 799
Credito 800 - 899
Ingresos 900 - 999
Obras/Contratos 1000 - 1099
Facturacion 1100 - 1199
Control de Documentos 1200 - 1299
Presupuesto 1300 - 1499

Estos errores se ejecutan cuando la función a la cual se le asigna $coderror devuelve códigos de errores self::$coderror=Articulos::validarAlmregart($this->caregart);, esta linea de código se encuentra en la funcion validateEdit(). Si la función validateEdit() retorna false se ejecuta la función handleErrorEdit() enviando el error a la vista.


--Desi 16:34 26 abr 2007 (VET) --Jlobaton 11:54 16 ago 2007 (VET)

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas