コード例 #1
0
 public function executeGAgenda($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' => ''));
     }
     //Inicialitzem les variables
     $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => ""));
     $this->accio = $request->getParameter('accio', 'C');
     $this->MODE = "";
     $this->P = $request->getParameter('P', 1);
     //Tractem el formulari de cerca
     $this->FCerca = new CercaForm();
     $this->FCerca->bind($this->CERCA);
     //Definim l'acció segons el botó premut
     if ($this->getRequest()->hasParameter('BNOU')) {
         $this->accio = 'N';
     }
     if ($this->getRequest()->hasParameter('BSAVE')) {
         $this->accio = 'S';
     }
     if ($this->getRequest()->hasParameter('BDELETE')) {
         $this->accio = 'D';
     }
     if ($this->getRequest()->hasParameter('BCERCA')) {
         $this->accio = 'L';
     }
     $this->getUser()->setSessionPar('accio', $this->accio);
     switch ($this->accio) {
         case 'C':
             $this->getUser()->addLogAction('inside', 'gAgenda');
             $this->AGENDES = AgendatelefonicadadesPeer::doSearch($this->CERCA['text'], $this->IDS, $this->P);
             break;
         case 'N':
             $this->MODE = 'NOU';
             $this->FAgenda = AgendatelefonicaPeer::initialize(0, $this->IDS);
             break;
         case 'E':
             $this->MODE = 'EDICIO';
             $AID = $request->getParameter('AID');
             $this->FAgenda = AgendatelefonicaPeer::initialize($AID, $this->IDS);
             $OAT = $this->FAgenda->getObject();
             $this->DADES = $OAT->getAgendatelefonicadadesActiu();
             break;
         case 'S':
             $RA = $request->getParameter('agendatelefonica');
             $AID = $RA['AgendaTelefonicaID'];
             $this->FAgenda = AgendatelefonicaPeer::initialize($AID, $this->IDS);
             $this->FAgenda->bind($RA);
             if ($this->FAgenda->isValid()) {
                 $this->FAgenda->save();
                 $this->getUser()->addLogAction($this->accio, 'gAgenda', $this->FAgenda->getObject());
                 myUser::addLogTimeline('alta', 'agenda', $this->getUser()->getSessionPar('idU'), $this->IDS, $this->FAgenda->getObject()->getAgendatelefonicaId());
                 $this->AID = $this->FAgenda->getObject()->getAgendatelefonicaid();
                 AgendatelefonicadadesPeer::update($request->getParameter('Dades'), $this->AID, $this->IDS);
                 //Actualitzem també les dades relacionades
                 $this->MISSATGE = "El registre s'ha modificat correctament.";
                 $this->redirect('gestio/gAgenda?accio=L');
             } else {
                 $this->DADES = $this->FAgenda->getObject()->getAgendatelefonicadadess();
                 $this->MODE = 'EDICIO';
             }
             break;
         case 'D':
             $RA = $request->getParameter('agendatelefonica');
             $this->AID = $RA['AgendaTelefonicaID'];
             $this->FAgenda = AgendatelefonicaPeer::initialize($this->AID, $this->IDS);
             if (!$this->FAgenda->isNew()) {
                 $this->FAgenda->getObject()->setInactiu();
                 $this->getUser()->addLogAction($this->accio, 'gAgenda', $this->FAgenda->getObject());
                 myUser::addLogTimeline('baixa', 'agenda', $this->getUser()->getSessionPar('idU'), $this->IDS, $this->FAgenda->getObject()->getAgendatelefonicaId());
             }
             break;
         default:
             $this->AGENDES = AgendatelefonicadadesPeer::doSearch($this->CERCA['text'], $this->IDS, $this->P);
             break;
     }
     if (!empty($this->CERCA)) {
         $this->AGENDES = AgendatelefonicadadesPeer::doSearch($this->CERCA['text'], $this->IDS, $this->P);
     } else {
         $this->AGENDES = array();
     }
 }