public function setup() { $SN = array(true => 'Sí', false => 'No'); $this->setWidgets(array('tractada' => new sfWidgetFormChoice(array('choices' => $SN)), 'Codi' => new sfWidgetFormInputText(array(), array()), 'Estat' => new sfWidgetFormChoice(array('choices' => ReservaespaisPeer::selectEstat())), 'CondicionsCCG' => new sfWidgetFormTextareaTinyMCE(), 'ReservaEspaiID' => new sfWidgetFormInputHidden(), 'Nom' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'DataActivitat' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'HorariActivitat' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'EspaisSolicitats' => new sfWidgetFormChoice(array('renderer_class' => 'sfWidgetFormSelectManyMy', 'choices' => EspaisPeer::selectFormReserva($this->getOption('IDS')), 'multiple' => true, 'expanded' => true), array('class' => 'ul_espais')), 'MaterialSolicitat' => new sfWidgetFormChoice(array('renderer_class' => 'sfWidgetFormSelectManyMy', 'choices' => MaterialgenericPeer::selectFormulariUsuaris(), 'multiple' => true, 'expanded' => true), array('class' => 'ul_material')), 'TipusActe' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'Representacio' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'Responsable' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'TelefonResponsable' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'Organitzadors' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'PersonalAutoritzat' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'PrevisioAssistents' => new sfWidgetFormInputText(array(), array('style' => 'width:400px')), 'isEnregistrable' => new sfWidgetFormChoice(array('choices' => $SN), array()), 'EsCicle' => new sfWidgetFormChoice(array('choices' => $SN), array()), 'Comentaris' => new sfWidgetFormTextarea(array(), array('rows' => '10', 'cols' => '50')), 'Usuaris_usuariID' => new sfWidgetFormInputHidden(), 'DataAlta' => new sfWidgetFormInputHidden(), 'DataAcceptacioCondicions' => new sfWidgetFormInputHidden(), 'ObservacionsCondicions' => new sfWidgetFormTextarea(array(), array('rows' => '10', 'cols' => '50')))); $this->setValidators(array('tractada' => new sfValidatorPass(array('required' => false), array()), 'Codi' => new sfValidatorPass(array('required' => false), array()), 'ReservaEspaiID' => new sfValidatorPropelChoice(array('model' => 'Reservaespais', 'column' => 'ReservaEspaiID', 'required' => false)), 'Representacio' => new sfValidatorString(array('required' => true)), 'Responsable' => new sfValidatorString(array('required' => true)), 'TelefonResponsable' => new sfValidatorString(array('required' => true)), 'PersonalAutoritzat' => new sfValidatorString(array('required' => true)), 'PrevisioAssistents' => new sfValidatorInteger(array('required' => true)), 'EsCicle' => new sfValidatorBoolean(array('required' => true)), 'Comentaris' => new sfValidatorString(array('required' => false)), 'Estat' => new sfValidatorString(array('max_length' => 1, 'required' => true)), 'Usuaris_usuariID' => new sfValidatorPropelChoice(array('model' => 'Usuaris', 'column' => 'UsuariID', 'required' => true)), 'Organitzadors' => new sfValidatorString(array('required' => true)), 'DataActivitat' => new sfValidatorString(array('required' => true)), 'HorariActivitat' => new sfValidatorString(array('required' => true)), 'TipusActe' => new sfValidatorString(array('required' => true)), 'Nom' => new sfValidatorString(array('required' => true)), 'isEnregistrable' => new sfValidatorBoolean(array('required' => true)), 'DataAlta' => new sfValidatorDateTime(array('required' => false)), 'EspaisSolicitats' => new sfValidatorString(array('required' => false)), 'MaterialSolicitat' => new sfValidatorString(array('required' => false)), 'CondicionsCCG' => new sfValidatorPass(), 'DataAcceptacioCondicions' => new sfValidatorPass(), 'ObservacionsCondicions' => new sfValidatorString(array('required' => false)))); $this->widgetSchema->setLabels(array('tractada' => 'Tractada?', 'Codi' => "Codi: ", 'Estat' => "Estat actual: ", 'Nom' => "Nom de l'activitat: ", 'DataActivitat' => "Proposta de data: ", 'HorariActivitat' => "Horari de l'activitat: ", 'Espais' => 'Espais: (<a class="blue" href="' . sfConfig::get('sf_webroot') . 'intranet_dev.php/web/espais" target="_NEW">veure\'ls</a>)', 'Material' => "Material: ", 'TipusActe' => "Tipus d'acte: ", 'isEnregistrable' => "És enregistrable?", 'Representacio' => "En representació de: ", 'Responsable' => "Responsable: ", 'TelefonResponsable' => "Telèfon del responsable: ", 'Organitzadors' => "Organitzadors: ", 'PersonalAutoritzat' => "Personal autoritzat: ", 'PrevisioAssistents' => "Previsió d'assistents: ", 'EsCicle' => "És un cicle? ", 'Comentaris' => "Comentaris: ", 'EspaisSolicitats' => 'Espais: ', 'MaterialSolicitat' => 'Material: ', 'ObservacionsCondicions' => 'Observacions ', 'CondicionsCCG' => 'Condicions ')); $this->widgetSchema->setNameFormat('reservaespais[%s]'); $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema); $this->widgetSchema->setFormFormatterName('Span'); }
public function executeGReserves(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); //Netegem cerca // if($request->getParameter('accio') == 'C'): // $this->CERCA = $this->getUser()->setSessionPar('cerca',array('text'=>'','select'=>'0')); // $this->PAGINA = $this->getUser()->setSessionPar('pagina',1); // endif; $this->PAGINA = $this->getUser()->ParReqSesForm($request, 'pagina', 1); $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => '', 'select' => '0')); //Inicialitzem el formulari de cerca $this->FCerca = new CercaTextChoiceForm(); $RET = ReservaespaisPeer::selectEstat(); $RET[-1] = 'Totes les reserves'; $this->FCerca->setChoice($RET); $this->FCerca->bind($this->CERCA); //Inicialitzem variables $this->MODE = array('CONSULTA' => true, 'NOU' => false, 'EDICIO' => false); if ($request->isMethod('POST') || $request->isMethod('GET')) { $accio = $request->getParameter('accio'); if ($request->hasParameter('BCERCA')) { $accio = 'C'; } if ($request->hasParameter('BNOU')) { $accio = 'N'; } if ($request->hasParameter('BSAVE')) { $accio = 'S'; } if ($request->hasParameter('BDELETE')) { $accio = 'D'; } if ($request->hasParameter('SEND_RESOLUTION')) { $accio = "SR"; } } switch ($accio) { case 'N': $this->FReserva = ReservaespaisPeer::initialize(0, $this->IDS); $this->MODE['NOU'] = true; break; case 'E': $this->FReserva = ReservaespaisPeer::initialize($request->getParameter('IDR'), $this->IDS); $this->MODE['EDICIO'] = true; break; case 'S': if ($this->saveReservaEspais($request, $accio)) { $this->redirect('gestio/gReserves?accio=C'); } $this->MODE['EDICIO'] = true; break; case 'D': $OR = ReservaespaisPeer::initialize($this->IDR, $this->IDS)->getObject(); $OR->setEstat(ReservaespaisPeer::ESBORRADA); $OR->save(); $this->getUser()->addLogAction($accio, 'gReserves', $OR); break; case 'C': $this->getUser()->addLogAction('inside', 'gReserves'); break; //Guardo el formulari amb els canvis i envio un correu amb les condicions. //Guardo el formulari amb els canvis i envio un correu amb les condicions. case 'SR': $RP = $request->getParameter('reservaespais'); $this->FReserva = ReservaespaisPeer::initialize($RP['ReservaEspaiID'], $this->IDS); $this->FReserva->bind($RP); if ($this->FReserva->isValid()) { $this->FReserva->save(); $OR = $this->FReserva->getObject(); //El poso en pendent de confirmació per mail o web $OR->setEstat(ReservaespaisPeer::PENDENT_CONFIRMACIO); $OR->save(); //Generem i enviem el mail amb les condicions $this->SendMailReservaEspais($OR, $this->IDS); //Guardem l'acció $this->getUser()->addLogAction($accio, 'gReserves', $this->FReserva); } else { $this->MODE['EDICIO'] = true; } break; } $this->RESERVES = ReservaespaisPeer::getReservesSelect($this->CERCA['text'], $this->CERCA['select'], $this->PAGINA, $this->IDS); }