Saludos a Todos;
Bueno ahora sigo trabajando con formulario.
El problema Es que tengo dos tablas:
1. Solicitud de Materiales
2. Detalles de Materiales
y he creado para cada una de las tablas un Formulario con sus respectivas acciones
(Agregar,Editar,Eliminar,)
Primer form solicitud de material
Código PHP:
Ver original<?php
class Form_Solicitudmaterial extends Zend_Form{
public function __construct($options = null){
parent::__construct($options);
$this->setName('solicitudmaterial');
$id = new Zend_Form_Element_Hidden('idsolicitudesMaterial');
//validaciones
$valcampo = new Zend_Validate_NotEmpty();
$valcampo->setMessage("Este valor es requerido y no puede estar vacio", Zend_Validate_NotEmpty::IS_EMPTY);
//Campo de Fecha
$fecha = new Zend_Form_Element_Text('fechaS');
$fecha->setLabel('Fecha')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator($valcampo);
$filtro= new Zend_Filter_StringToUpper();
$fecha->addFilter($filtro);
//Campo de SitioPractica
$sitiopractica = new Zend_Form_Element_Text('sitioPractica');
$sitiopractica->setLabel('Práctica')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator($valcampo);
//Se llama al campo usuario por medio de su id
$idusuarios = new Zend_Form_Element_Select('idusuarios');
$idusuarios->setLabel('Usuario')
->setRequired(true);
$table = new usuariosModel();
foreach ($table->actualizar() as $c)
{
$idusuarios->addMultiOption($c->idusuarios, $c->nombres);
}
//Se llama al campo formaciones por medio de su id
$idformaciones = new Zend_Form_Element_Select('idformaciones');
$idformaciones->setLabel('Formación')
->setRequired(true);
$table = new FormacionesModel();
foreach ($table->actualizar1() as $f)
{
$idformaciones->addMultiOption($f->idformaciones, $f->nombre);
}
//un select donde se seleccionara un Estado Solicitud
$idestadossolicitud = new Zend_Form_Element_Select('idestadossolicitud');
$idestadossolicitud->setLabel('estados')
//->setValue(1)
->setRequired(true);
$rol=2;
if ($rol == 1){
$estado= new estadossolicitudesModel();
foreach ($estado->seleccion() as $h)
{
$idestadossolicitud->addMultiOption($h->idestadossolicitudes,$h->estado);
}
}
else
{
$idestadossolicitud = new Zend_Form_Element_Hidden('idestadossolicitud');
$idestadossolicitud->setLabel('')
->setValue(1);
}
//Definimos el boton de envio del formulario por defecto
$submit = new Zend_Form_Element_Submit('submit');
$submit->setAttrib('id', 'submit');
$this->addElements(array($id, $fecha, $sitiopractica,$idusuarios,$idformaciones,$idestadossolicitud,$submit)); }
}
Segundo form de detalles de materiales:
Código PHP:
Ver original<?php
class Form_Detalles extends Zend_Form{
public function __construct($options = null){
parent::__construct($options);
$this->setName('detalles');
$id = new Zend_Form_Element_Hidden('iddetallesSolicitudHerramientas');
//validaciones
$valnum = new Zend_Validate_Digits();
$valnum->setMessage("Por favor Ingresar solamente caracteres numericos", Zend_Validate_Digits::NOT_DIGITS);
$valnum->setMessage("Por favor Ingresar solamente caracteres numericos", Zend_Validate_Digits::STRING_EMPTY);
$valcampo = new Zend_Validate_NotEmpty();
$valcampo->setMessage("Este valor es requerido y no puede estar vacio", Zend_Validate_NotEmpty::IS_EMPTY);
//Campo de Usuario
$usuario = new Zend_Form_Element_Select('usuarios');
$usuario->setLabel('Usuarios')
->setRequired(true) ;
$table = new usuariosModel();
foreach ($table->actualizar() as $c)
{
$usuario->addMultiOption($c->idusuarios, $c->nombres);
}
//Campo de Fecha
$fecha = new Zend_Form_Element_Text('fecha');
$fecha->setLabel('Fecha')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator($valcampo);
$filtro= new Zend_Filter_StringToUpper();
$fecha->addFilter($filtro);
//Campo de Cantidad
$cantidad = new Zend_Form_Element_Text('cantidad');
$cantidad->setLabel('Cantidad')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator($valcampo)
->addValidator($valnum);
//Se llama al campo Herramientas por medio de su id
$herramientas = new Zend_Form_Element_Select('herramientas');
$herramientas->setLabel('Herramienta')
->setRequired(true) ;
$table = new HerramientasModel();
foreach ($table->actualizar() as $c)
{
$herramientas->addMultiOption($c->idherramientas, $c->nombre);
}
//Campo de Recibida
$recibida = new Zend_Form_Element_Text('cantidadRecibida');
$recibida->setLabel('Cant. Recibida')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator($valcampo)
->addValidator($valnum);
//Se llama al campo SolicitudHerramienta por medio de su id
$solicitudherra = new Zend_Form_Element_Select('solicitudherramientas');
$solicitudherra->setLabel('Solicitante')
->setRequired(true) ;
$table = new usuariosModel();
foreach ($table->actualizar() as $c)
{
$solicitudherra->addMultiOption($c->idusuarios , $c->nombres);
}
//Campo de Devolucion
$devolucion = new Zend_Form_Element_Text('fechaEstimadaDevolucion');
$devolucion->setLabel('Devolución')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator($valcampo);
$filtro= new Zend_Filter_StringToUpper();
$devolucion->addFilter($filtro);
//Definimos el boton de envio del formulario por defecto
$submit = new Zend_Form_Element_Submit('submit');
$submit->setAttrib('iddetallesSolicitudHerramientas', 'submitbutton');
$this->addElements(array($id,$usuario, $fecha, $cantidad, $herramientas ,$recibida, $solicitudherra, $devolucion,$submit));
}
}
?>
Lo que quiero es unir estos dos formularios en una sola vista.
Pero que funcione con un solo Agregar.
un solo boton agregar para los dos.
El problema es que no se como hacerlo.. :/