Salvar
De CidesaWiki
Revisión a fecha de 01:51 23 may 2007; Jlobaton (Discusión | contribuciones)
- Se crea una Clase dentro de la libreria de /lib/business/MiModulo, para el ejemplo se va a utilizar el Módulo de Compras y la Forma Registro de Articulo, sería en /lib/business/compras y el nombre de la clase es Articulos.class.php, y quedaria la clase asi:
En /lib/business/compras/Articulos.class.php
class Articulos
{
}
- Se crea dos funciones que va a permitir guardar los Articulos
class Articulos
{
public static function salvarAlmregart($articulo)
{
self::Grabar_Articulo($articulo);
}
public static function Grabar_Articulo($articulo)
{
$articulo->save();
}
}
- Se define una función en al ActionsClass del Módulo, para el ejemplo se va a utilizar:
Forma: Almregart (Registro de Articulos)
Actions: $caregart
Funcion de la Clase: Articulos
/siga/apps/compras/modules/almregart/actions/actions.class.php
public function saveCaregart($caregart)
{
Articulos::salvarAlmregart($caregart);
}
- Agregar en el mismo ActionsClass del Modulo el llamado de la funcion savaCaregart($caregart), que se encuentra en el cache al generar el modulo.
public function executeEdit()
{
$this->caregart = $this->getCaregartOrCreate();
$this->setVars();
$this->configGrid();
if ($this->getRequest()->getMethod() == sfRequest::POST)
{
$this->updateCaregartFromRequest();
$this->saveCaregart($this->caregart);
$this->setFlash('notice', 'Your modifications have been saved');
if ($this->getRequestParameter('save_and_add'))
{
return $this->redirect('almregart/create');
}
else if ($this->getRequestParameter('save_and_list'))
{
return $this->redirect('almregart/list');
}
else
{
return $this->redirect('almregart/edit?id='.$this->caregart->getId());
}
}
else
{
$this->labels = $this->getLabels();
}
}
--Jlobaton 16:50 17 abr 2007 (VET)