/** * 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'); }
/** * 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); } }