use of com.tomasio.projects.trainning.dto.NetworkUserDTO in project trainning by fernandotomasio.
the class TurmasEfetivasController method listConclusoes.
@RequestMapping("/detail/conclusoes")
public String listConclusoes(Model model, WebRequest request, @ModelAttribute("turma") TurmaEfetivaDTO turma) {
// busca todos os apresentados com comparecimento
// ApresentacaoDTO[] alunosApresentadosNaoConcluido = atividadesEnsinoService.findAllApresentacoesNaoConcluidasByTurmaId(turma.getId());
ApresentacaoDTO[] alunosApresentados = atividadesEnsinoService.findAllApresentacoesByTurmaId(turma.getId());
// busca e ordena por nome os apresentados concluintes
ConclusaoDTO[] conclusoesComAproveitamento = atividadesEnsinoService.findAllConcluidosByTurma(turma.getId(), true);
ConclusaoDTO[] conclusoesSemAproveitamento = atividadesEnsinoService.findAllConcluidosByTurma(turma.getId(), false);
Arrays.sort(conclusoesComAproveitamento, new Comparator<ConclusaoDTO>() {
@Override
public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
}
});
Arrays.sort(conclusoesSemAproveitamento, new Comparator<ConclusaoDTO>() {
@Override
public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
}
});
// List conclusoesComAproveitamento
List<Map<Object, Object>> dataList = new ArrayList<Map<Object, Object>>();
// correr a lista de concluídos com aproveitamento para filtrar os não certificados
for (ConclusaoDTO conclusao : conclusoesComAproveitamento) {
Map<Object, Object> item = new HashMap<Object, Object>();
item.put("targetaCompletaOM", conclusao.getPessoa().getTargetaCompletaOM());
MatriculaDTO maticula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
item.put("indicacao", maticula.getIndicacao().getId());
item.put("id", conclusao.getId());
item.put("observacao", conclusao.getObservacao());
item.put("dataOperacao", conclusao.getDataOperacao());
String operador = "Não Informado";
if (conclusao.getOperador() != null && !"".equals(conclusao.getOperador())) {
NetworkUserDTO usuario = userService.findUser(conclusao.getOperador());
// operador = usuario.getTarjeta() + " (" + usuario.getOrganizacao() + ")";
if (usuario != null) {
operador = usuario.getTarjeta();
} else {
operador = conclusao.getOperador();
}
}
item.put("operador", operador);
// ajuste para COMGAP 14/12/2015 - Ten Aguiar
if (conclusao.getPessoa().getOrganizacao() != null && conclusao.getPessoa().getOrganizacao().getId() != null) {
OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(conclusao.getPessoa().getOrganizacao().getId());
item.put("omDoAluno", omDoAluno.getSigla());
} else {
item.put("omDoAluno", "");
}
dataList.add(item);
}
// List conclusoesSemAproveitamento
List<Map<Object, Object>> dataListSem = new ArrayList<Map<Object, Object>>();
// correr a lista de concluídos com aproveitamento para filtrar os não certificados
for (ConclusaoDTO conclusao : conclusoesSemAproveitamento) {
Map<Object, Object> item = new HashMap<Object, Object>();
item.put("targetaCompletaOM", conclusao.getPessoa().getTargetaCompletaOM());
MatriculaDTO maticula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
item.put("indicacao", maticula.getIndicacao().getId());
item.put("id", conclusao.getId());
item.put("observacao", conclusao.getObservacao());
item.put("dataOperacao", conclusao.getDataOperacao());
String operador = "Não Informado";
if (conclusao.getOperador() != null && !"".equals(conclusao.getOperador())) {
NetworkUserDTO usuario = userService.findUser(conclusao.getOperador());
// operador = usuario.getTarjeta() + " (" + usuario.getOrganizacao() + ")";
if (usuario != null) {
operador = usuario.getTarjeta();
} else {
operador = conclusao.getOperador();
}
}
item.put("operador", operador);
// ajuste para COMGAP 14/12/2015 - Ten Aguiar
if (conclusao.getPessoa().getOrganizacao() != null && conclusao.getPessoa().getOrganizacao().getId() != null) {
OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(conclusao.getPessoa().getOrganizacao().getId());
item.put("omDoAluno", omDoAluno.getSigla());
} else {
item.put("omDoAluno", "");
}
dataListSem.add(item);
}
// busca os apresentados não concluintes
MatriculaDTO[] matriculasAlunosNaoConcluido = atividadesEnsinoService.findAllMatriculasAlunosApresentadosNaoConcluidos(turma.getId());
// passa os concluidos e total
model.addAttribute("conclusoesComAproveitamento", dataList);
model.addAttribute("totalComAproveitamento", conclusoesComAproveitamento.length);
model.addAttribute("conclusoesSemAproveitamento", dataListSem);
model.addAttribute("totalSemAproveitamento", conclusoesSemAproveitamento.length);
// passa o total de não concluidos
model.addAttribute("totalAlunosNaoConcluido", matriculasAlunosNaoConcluido.length);
// passa o total de apresentados
model.addAttribute("totalAlunosApresentados", alunosApresentados.length);
model.addAttribute("tab", "concluidos");
return "turmas_efetivas/detail/conclusoes";
}
use of com.tomasio.projects.trainning.dto.NetworkUserDTO in project trainning by fernandotomasio.
the class UsuariosController method showIndex.
@RequestMapping({ "/", "/index", "" })
public String showIndex(Model model, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request, UsuarioSearchForm searchForm) {
// busca todos usuários
NetworkUserDTO[] usuarios = userService.findAllUsers();
// jogo no ArrayList para trabalhar
List<NetworkUserDTO> usuariosFiltrado = new ArrayList();
usuariosFiltrado.addAll(Arrays.asList(usuarios));
if (request.isUserInRole("ROLE_ADMINISTRADOR")) {
model.addAttribute("organizacoes", organizationalService.findAllOrganizacoes());
} else {
List<OrganizacaoDTO> organizacoesSubordinadas = new ArrayList();
organizacoesSubordinadas.addAll(Arrays.asList(organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId())));
organizacoesSubordinadas.add(userOrganization);
List<String> siglasOrganizacoesSubordinadas = new ArrayList<>();
for (OrganizacaoDTO organizacoesSubordinada : organizacoesSubordinadas) {
siglasOrganizacoesSubordinadas.add(organizacoesSubordinada.getSigla());
}
for (Iterator<NetworkUserDTO> iterator = usuariosFiltrado.iterator(); iterator.hasNext(); ) {
NetworkUserDTO user = iterator.next();
if (siglasOrganizacoesSubordinadas.contains(user.getOrganizacao()) == false) {
iterator.remove();
}
}
model.addAttribute("organizacoes", organizacoesSubordinadas);
}
// verificar usuário filtrou por searchForm.getOrganizacaoId (OM)
if (!(searchForm.getOrganizacao() == null || searchForm.getOrganizacao().equals(""))) {
// corre os usuários verifcando se a OM igual a FILTRADA
for (Iterator<NetworkUserDTO> iterator = usuariosFiltrado.iterator(); iterator.hasNext(); ) {
NetworkUserDTO next = iterator.next();
String usuarioOM = next.getOrganizacao();
if (!(searchForm.getOrganizacao().equals(usuarioOM))) {
// comparar se a OM é igual filtro passado
iterator.remove();
}
}
}
// ordenar a lista de usuários
Collections.sort(usuariosFiltrado, new Comparator<NetworkUserDTO>() {
@Override
public int compare(NetworkUserDTO o1, NetworkUserDTO o2) {
return o1.getNome().compareTo(o2.getNome());
}
});
Collections.sort(usuariosFiltrado, new Comparator<NetworkUserDTO>() {
@Override
public int compare(NetworkUserDTO o1, NetworkUserDTO o2) {
return o1.getOrganizacao().compareTo(o2.getOrganizacao());
}
});
// loop nos usuários para adicionar o perfil
List usuariosFiltradoComPerfil = new ArrayList();
for (NetworkUserDTO usuario : usuariosFiltrado) {
// buscar as roles do usuário
NetworkGroupDTO[] groups = userService.findAllRoleGroups();
List<String> rolesAssigned = new ArrayList<>();
for (NetworkGroupDTO group : groups) {
if (group.getMembers().contains(usuario.getId())) {
rolesAssigned.add(group.getDescricao());
}
}
// ordenaçao das permissoes
Collections.sort(rolesAssigned, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
Map item = new HashMap();
item.put("nome", usuario.getNome());
item.put("posto", usuario.getPosto());
item.put("nomeGuerra", usuario.getNomeGuerra());
item.put("email", usuario.getEmail());
item.put("login", usuario.getLogin());
item.put("organizacao", usuario.getOrganizacao());
item.put("perfil", rolesAssigned);
usuariosFiltradoComPerfil.add(item);
}
// envia para
model.addAttribute("total", usuariosFiltradoComPerfil.size());
model.addAttribute("usuarios", usuariosFiltradoComPerfil);
model.addAttribute("searchForm", searchForm);
// enviar para view a lista de OM subordinadas da OM do usuário
OrganizacaoDTO[] organizacoesSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId());
List listaOrganizacoesSubordinadas = new ArrayList();
for (OrganizacaoDTO organizacao : organizacoesSubordinadas) {
String siglaOM = organizacao.getSigla();
listaOrganizacoesSubordinadas.add(siglaOM);
}
model.addAttribute("organizacoesSubordinadas", listaOrganizacoesSubordinadas);
return "usuarios";
}
use of com.tomasio.projects.trainning.dto.NetworkUserDTO in project trainning by fernandotomasio.
the class LoginController method enviarSenha.
@RequestMapping("/senha")
public String enviarSenha(Model model, WebRequest request, final RedirectAttributes redirectAttributes) {
String login = request.getParameter("login");
if (login != null) {
NetworkUserDTO usuario = userService.findUser(login);
if (usuario != null) {
String usuariologin = usuario.getLogin();
String usuarioemail = usuario.getEmail();
try {
userService.updateUserPassword(generatePassword(), usuariologin);
redirectAttributes.addFlashAttribute("successMessage", "Uma nova Senha foi enviada para o email " + usuarioemail);
} catch (CoreException e) {
// e.getMessage());
redirectAttributes.addFlashAttribute("errorMessage", "Não foi possível enviar a senha para " + usuariologin);
}
} else {
// e.getMessage());
redirectAttributes.addFlashAttribute("errorMessage", "Não foi possível enviar a senha para " + login);
}
} else {
redirectAttributes.addFlashAttribute("errorMessage", "Não foi possível enviar a senha, insira o seu Login ! ");
}
return "redirect:login";
}
use of com.tomasio.projects.trainning.dto.NetworkUserDTO in project trainning by fernandotomasio.
the class SettingsController method savePassword.
@RequestMapping("/save_password")
public String savePassword(Model model, @Valid PasswordForm passwordForm, BindingResult bindingResult, WebRequest request) {
if (bindingResult.hasErrors()) {
return "settings/form_password";
}
final InetOrgPerson user = (InetOrgPerson) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String userLogin = user.getUid();
NetworkUserDTO usuario = userService.findUser(userLogin);
usuario.setPassword(passwordForm.getPassword());
userService.updateUser(usuario);
// buscar as roles do usuário
NetworkGroupDTO[] groups = userService.findAllRoleGroups();
List<String> rolesAssigned = new ArrayList<>();
for (NetworkGroupDTO group : groups) {
if (group.getMembers().contains(usuario.getId())) {
rolesAssigned.add(group.getNome());
}
}
// jogo no ArrayList para trabalhar
List<NetworkGroupDTO> roles = new ArrayList();
roles.addAll(Arrays.asList(groups));
// ordenar a lista de roles
Collections.sort(roles, new Comparator<NetworkGroupDTO>() {
@Override
public int compare(NetworkGroupDTO o1, NetworkGroupDTO o2) {
return o1.getDescricao().compareTo(o2.getDescricao());
}
});
model.addAttribute("roles", roles);
model.addAttribute("rolesAssigned", rolesAssigned);
model.addAttribute("usuario", usuario);
return "settings";
}
use of com.tomasio.projects.trainning.dto.NetworkUserDTO in project trainning by fernandotomasio.
the class UsersMailAdvice method createUserMethodInterceptor.
@Around("createUser()")
public Object createUserMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
NetworkUserDTO user = (NetworkUserDTO) args[0];
String to = user.getEmail();
String subject = "Bem vindo ao SGC, " + user.getNome();
String text = "Bom dia, Sr. usuário,\n" + "Informo a Vsa. os dados para acesso ao Sistema de Gerenciamento da Capacitação:\n\n" + "Login: " + user.getLogin() + "\n" + "Senha: " + user.getPassword() + "\n" + "Atenção, é altamente recomendável atualizar o seu navegador.\n" + "Por favor, altere sua senha após o primeiro acesso.\n\n" + "Em caso de dúvidas entre em contato com o setor de capacitação de sua OM. " + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento do Capacitação.\n";
systemService.sendMail(to, subject, text);
return joinPoint.proceed();
}
Aggregations