/**
  * Displays a list view of Certificado objects
  */
 public function EmitirCertificadosView()
 {
     // Requer permissão de acesso
     $this->RequirePermission(Usuario::$P_ADMIN, 'SecureExample.LoginForm', 'Autentique-se para acessar esta página', 'Você não possui permissão para acessar essa página ou sua sessão expirou');
     //$usuario = Controller::GetCurrentUser();
     //$this->Assign('usuario',$usuario);
     //Dados do evento
     $this->Assign('Palestra', null);
     $this->Assign('Evento', null);
     $this->Assign('navegacao', 'emitir-certificados');
     $pk = $this->GetRouter()->GetUrlParam('idPalestra');
     if (isset($_GET['idPalestra'])) {
         $pk = (int) $_GET['idPalestra'];
     }
     if ($pk) {
         try {
             $palestra = $this->Phreezer->Get('Palestra', $pk);
             $this->Assign('Palestra', $palestra);
             $evento = $this->Phreezer->Get('Evento', $palestra->IdEvento);
             $this->Assign('Evento', $evento);
             // require_once('verysimple/Phreeze/ObserveToBrowser.php');
             // $ob = new ObserveToBrowser();
             // $this->Phreezer->DataAdapter->AttachObserver($ob);
             //RESGATA O ÚLTIMO CERTIFICADO PARA PREENCHER NA PARTE EMITIR CERTIFICADO
             $criteria = new CertificadoCriteria();
             $criteria->SetOrder('Codigo', '1');
             //PARA PEGAR PELO ULTIMO CODIGO E NÃO ID
             $criteria->SetLimit(1);
             $ultimoElemento = $this->Phreezer->GetByCriteria('CertificadoReporter', $criteria);
             if ($ultimoElemento->Folha == 0) {
                 $ultimoElemento->Livro = 1;
             }
             $ultimoElemento->Folha += 1;
             $ultimoElemento->Codigo += 1;
             $this->Assign('UltimoElemento', $ultimoElemento);
         } catch (NotFoundException $ex) {
             throw new NotFoundException("A atividade #{$pk} não existe" . $ex);
         }
     } else {
         require_once 'Model/Evento.php';
         $criteria = new EventoCriteria();
         $criteria->SetOrder('IdEvento', 1);
         $listaEventos = $this->Phreezer->Query('Evento', $criteria)->ToObjectArray(true, $this->SimpleObjectParams());
         $this->Assign('ListaEventos', $listaEventos);
         /*$output->rows = $certificados->ToObjectArray(true,$this->SimpleObjectParams());
         		$output->totalResults = $certificados->TotalResults;
         		$output->totalPages = $certificados->TotalPages;
         		$output->pageSize = $certificados->PageSize;
         		$output->currentPage = $certificados->CurrentPage;*/
     }
     $this->Render('EmitirCertificadosView.tpl');
 }
Beispiel #2
0
 /**
  * API Method queries for Evento records and render as JSON
  */
 public function Query()
 {
     try {
         $criteria = new EventoCriteria();
         // TODO: this will limit results based on all properties included in the filter list
         $filter = RequestUtil::Get('filter');
         if ($filter) {
             $criteria->AddFilter(new CriteriaFilter('IdEvento,Nome,Local,Data,Duracao', '%' . $filter . '%'));
         }
         // TODO: this is generic query filtering based only on criteria properties
         foreach (array_keys($_REQUEST) as $prop) {
             $prop_normal = ucfirst($prop);
             $prop_equals = $prop_normal . '_Equals';
             if (property_exists($criteria, $prop_normal)) {
                 $criteria->{$prop_normal} = RequestUtil::Get($prop);
             } elseif (property_exists($criteria, $prop_equals)) {
                 // this is a convenience so that the _Equals suffix is not needed
                 $criteria->{$prop_equals} = RequestUtil::Get($prop);
             }
         }
         $output = new stdClass();
         // if a sort order was specified then specify in the criteria
         $output->orderBy = RequestUtil::Get('orderBy');
         $output->orderDesc = RequestUtil::Get('orderDesc') != '';
         if ($output->orderBy) {
             $criteria->SetOrder($output->orderBy, $output->orderDesc);
         }
         $page = RequestUtil::Get('page');
         if ($page != '') {
             // if page is specified, use this instead (at the expense of one extra count query)
             $pagesize = $this->GetDefaultPageSize();
             $eventos = $this->Phreezer->Query('Evento', $criteria)->GetDataPage($page, $pagesize);
             $output->rows = $eventos->ToObjectArray(true, $this->SimpleObjectParams());
             $output->totalResults = $eventos->TotalResults;
             $output->totalPages = $eventos->TotalPages;
             $output->pageSize = $eventos->PageSize;
             $output->currentPage = $eventos->CurrentPage;
         } else {
             // return all results
             $eventos = $this->Phreezer->Query('Evento', $criteria);
             $output->rows = $eventos->ToObjectArray(true, $this->SimpleObjectParams());
             $output->totalResults = count($output->rows);
             $output->totalPages = 1;
             $output->pageSize = $output->totalResults;
             $output->currentPage = 1;
         }
         $this->RenderJSON($output, $this->JSONPCallback());
     } catch (Exception $ex) {
         $this->RenderExceptionJSON($ex);
     }
 }