Validaciones del Negocio
De CidesaWiki
| Línea 72: | Línea 72: | ||
{| border="1" | {| border="1" | ||
|- | |- | ||
| - | Compras : 100 - 199 | + | |Compras : 100 - 199 |
|- | |- | ||
| - | Bienes : 200 - 299 | + | |Bienes : 200 - 299 |
|- | |- | ||
| - | Formulacion : 300 - 399 | + | |Formulacion : 300 - 399 |
|- | |- | ||
| - | Nomina : 400 - 499 | + | |Nomina : 400 - 499 |
|- | |- | ||
| - | Tesoreria : 500 - 599 | + | |Tesoreria : 500 - 599 |
|- | |- | ||
| - | Contabilidad: 600 - 699 | + | |Contabilidad: 600 - 699 |
|- | |- | ||
| - | Hacienda : 700 - 799 | + | |Hacienda : 700 - 799 |
|- | |- | ||
| - | Credito : 800 - 899 | + | |Credito : 800 - 899 |
|- | |- | ||
| - | Ingresos : 900 - 999 | + | |Ingresos : 900 - 999 |
|- | |- | ||
| - | Obras/Contratos : 1000 - 1099 | + | |Obras/Contratos : 1000 - 1099 |
|- | |- | ||
| - | Presupuesto: 1100 - 1199 | + | |Presupuesto: 1100 - 1199 |
|} | |} | ||
{| border="1" | {| border="1" | ||
Revisión de 15:58 16 ago 2007
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 codigo, para los mensajes de errores de cada uno de los modulos se tiene:
| 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 |
| Presupuesto: 1100 - 1199 |
| abc | def | ghi |
| jkl | mno | pqr |
| stu | vwx | yz |
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)