private static List<Condutor> listarCondutores() throws Exception { if (AutorizacaoGI.ehGabinete()) { List<Condutor> retorno = new ArrayList<Condutor>(); retorno.add( Condutor.recuperarLogado( AutorizacaoGI.titular(), AutorizacaoGI.titular().getOrgaoUsuario())); return retorno; } if (!AutorizacaoGI.ehAdministrador()) { return Condutor.listarFiltradoPor( AutorizacaoGI.titular().getOrgaoUsuario(), AutorizacaoGI.titular().getLotacao()); } else { return Condutor.listarTodos(AutorizacaoGI.titular().getOrgaoUsuario()); } }
@RoleAdmin @RoleAdminMissao @RoleAdminMissaoComplexo public static void incluir(Long idCondutor) { Condutor condutor = Condutor.findById(idCondutor); Afastamento afastamento = new Afastamento(); afastamento.condutor = condutor; render(afastamento); }
public static void listar() { List<Abastecimento> abastecimentos = null; if (AutorizacaoGI.ehGabinete()) { Condutor condutor = Condutor.recuperarLogado( AutorizacaoGI.titular(), AutorizacaoGI.titular().getOrgaoUsuario()); abastecimentos = Abastecimento.listarAbastecimentosDoCondutor(condutor); } else if (AutorizacaoGI.ehAdminGabinete()) { abastecimentos = Abastecimento.listarParaAdminGabinete(AutorizacaoGI.titular()); } else if (AutorizacaoGI.ehAgente()) { abastecimentos = Abastecimento.listarParaAgente(AutorizacaoGI.titular()); } else { // eh admin abastecimentos = Abastecimento.listarTodos(AutorizacaoGI.titular()); } render(abastecimentos); }
@RoleAdmin @RoleAdminMissao @RoleAdminMissaoComplexo public static void salvar(@Valid Afastamento afastamento) throws Exception { String template; if ((afastamento.dataHoraInicio != null) && (afastamento.dataHoraFim != null) && (!afastamento.descricao.equals(""))) { if (!afastamento.ordemDeDatasCorreta()) { Validation.addError("dataHoraInicio", "afastamentos.dataHoraInicio.validation"); } } template = afastamento.id > 0 ? "Afastamentos/editar.html" : "Afastamentos/incluir.html"; if (Validation.hasErrors()) { List<Condutor> condutores = Condutor.listarTodos(AutorizacaoGI.titular().getOrgaoUsuario()); renderTemplate(template, afastamento, condutores); } else { List<Missao> missoes = Missao.retornarMissoes( "condutor.id", afastamento.condutor.id, afastamento.condutor.cpOrgaoUsuario.getId(), afastamento.dataHoraInicio, afastamento.dataHoraFim); String listaMissoes = ""; String delimitador = ""; for (Missao item : missoes) { listaMissoes += delimitador; listaMissoes += item.getSequence(); delimitador = ","; } if (missoes.size() > 0) { Validation.addError("LinkErroCondutor", listaMissoes); renderTemplate(template, afastamento); } else { afastamento.save(); listarPorCondutor(afastamento.condutor.id); } } }
public static void listarPorCondutor(Long idCondutor) { Condutor condutor = Condutor.findById(idCondutor); List<Afastamento> afastamentos = Afastamento.buscarTodosPorCondutor(condutor); MenuMontador.instance().RecuperarMenuCondutores(idCondutor, ItemMenu.AFASTAMENTOS); render(afastamentos, condutor); }