package br.com.centralit.citcorpore.rh.ajaxForms; import java.io.IOException; import javax.mail.MessagingException; import javax.mail.internet.AddressException; import javax.naming.NamingException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.mail.MensagemEmail; import br.com.centralit.citcorpore.rh.bean.CandidatoDTO; import br.com.centralit.citcorpore.rh.negocio.CandidatoService; import br.com.centralit.citcorpore.util.CitCorporeConstantes; import br.com.centralit.citcorpore.util.CriptoUtils; import br.com.centralit.citcorpore.util.Enumerados.ParametroSistema; import br.com.centralit.citcorpore.util.ParametroUtil; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; /** * @author flavio.santana * */ @SuppressWarnings({"rawtypes" }) public class CandidatoTrabalheConosco extends Candidato { @Override public Class getBeanClass() { return CandidatoDTO.class; } @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { CandidatoDTO candidatoDTO = (CandidatoDTO)request.getSession().getAttribute("CANDIDATO"); if(candidatoDTO != null) { request.setAttribute("idCandidato",candidatoDTO.getIdCandidato()); request.setAttribute("nome", candidatoDTO.getNome()); request.setAttribute("email",candidatoDTO.getEmail()); request.setAttribute("cpf",candidatoDTO.getCpf()); // request.setAttribute("dataInicio",candidatoDTO.getDataInicio()); request.setAttribute("dataFim",candidatoDTO.getDataFim()); request.setAttribute("situacao",candidatoDTO.getSituacao()); request.setAttribute("nomeCandidatoAbrev", abreviarNomeCandidato(candidatoDTO.getNome())); request.setAttribute("nomeCandidato", candidatoDTO.getNome()); request.setAttribute("emailCandidato",candidatoDTO.getEmail()); request.setAttribute("metodoAutenticacao",candidatoDTO.getMetodoAutenticacao()); } } /** * Salva ou atualiza candidato * @param document * @param request * @param response * @throws Exception */ public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { usuario = new UsuarioDTO(); usuario.setIdUsuario(1); } String usuarioEmail = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.RemetenteNotificacoesSolicitacao, null); if (usuarioEmail == null){ usuarioEmail = "citsmart@centralit.com.br"; } CandidatoService candidatoService = (CandidatoService) ServiceLocator.getInstance().getService(CandidatoService.class, null); CandidatoDTO candidatoDTO = (CandidatoDTO) document.getBean(); candidatoDTO.setIdResponsavel(usuario.getIdUsuario()); if (request.getSession().getAttribute("CANDIDATO") == null) { candidatoDTO.setTipo("F"); //candidatoDTO.setCpf(candidatoDTO.getCpf().replaceAll("[^0-9]*","")); if (candidatoService.consultarCandidatosAtivos(candidatoDTO)) { document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.registroJaCadastrado")); document.executeScript("fecha_aguarde()"); return; } CandidatoDTO candidatoDtoAux = null; candidatoDtoAux = candidatoService.findByEmail(candidatoDTO.getEmail()); if(candidatoDtoAux != null){ document.alert(UtilI18N.internacionaliza(request, "candidato.emailEmUso")); document.executeScript("fecha_aguarde()"); return; } if(candidatoDTO.getSenha() == null || candidatoDTO.getSenha().equalsIgnoreCase("")){ document.alert(UtilI18N.internacionaliza(request, "candidato.senhaObrigatorio")); return; } String algoritmo = br.com.citframework.util.Constantes.getValue("ALGORITMO_CRIPTOGRAFIA_SENHA"); if (algoritmo == null || !algoritmo.trim().equalsIgnoreCase("")) { algoritmo = "SHA-1"; } candidatoDTO.setSenha(CriptoUtils.generateHash(candidatoDTO.getSenha(), algoritmo)); candidatoDTO.setDataInicio(UtilDatas.getDataAtual()); candidatoDTO.setSituacao("C"); candidatoDTO.setAutenticado("N"); String hashID = CriptoUtils.generateHash(candidatoDTO.getCpf()+"", algoritmo); candidatoDTO.setHashID(hashID); candidatoDTO = (CandidatoDTO)candidatoService.create(candidatoDTO); document.executeScript("fecha_aguarde()"); StringBuilder msgEmail = new StringBuilder(); msgEmail.append("<table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#F4F3F4'>"); msgEmail.append(" <tbody>"); msgEmail.append(" <tr>"); msgEmail.append(" <td style='padding:15px'>"); msgEmail.append(" <center>"); msgEmail.append(" <table width='550' cellspacing='0' cellpadding='0' align='center' bgcolor='#ffffff'>"); msgEmail.append(" <tbody>"); msgEmail.append(" <tr>"); msgEmail.append(" <td align='left'>"); msgEmail.append(" <div style='border:solid 1px #d9d9d9'>"); msgEmail.append(" <table style='line-height:1.6;font-size:12px;font-family:Helvetica,Arial,sans-serif;border:solid 1px #ffffff;color:#444' width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#ffffff'>"); msgEmail.append(" <tbody>"); msgEmail.append(" <tr>"); msgEmail.append(" <td style='color:#ffffff' colspan='2' valign='bottom' height='30'>.</td>"); msgEmail.append(" </tr>"); msgEmail.append(" <tr>"); msgEmail.append(" <td style='line-height:32px;padding-left:30px' valign='baseline'>"); msgEmail.append(" <span style='font-size:32px'><a style='text-decoration:none' href='http://www.centralit.com.br/' target='_blank'>"); msgEmail.append(" <img alt='' src='http://www.centralit.com.br/images/logo_central.png' border='0'></a><br>"); msgEmail.append(" </span>"); msgEmail.append(" </td>"); msgEmail.append(" <td style='padding-right:30px' align='right' valign='baseline'><span style='font-size:14px;color:#777777'> </span></td>"); msgEmail.append(" </tr>"); msgEmail.append(" </tbody>"); msgEmail.append(" </table>"); msgEmail.append(" <table style='margin-top:15px;margin-right:30px;margin-left:30px;color:#444;line-height:1.6;font-size:12px;font-family:Arial,sans-serif' width='490' border='0' cellspacing='0' cellpadding='0' bgcolor='#ffffff'>"); msgEmail.append(" <tbody>"); msgEmail.append(" <tr>"); msgEmail.append(" <td style='border-top:solid 1px #d9d9d9' colspan='2'>"); msgEmail.append(" <div style='padding:15px 0'>"); msgEmail.append(" Ol� <b>"+candidatoDTO.getNome()); msgEmail.append(" </b><br>Para Ativar o seu Cadastro, clique no link abaixo.<br><br>"); msgEmail.append(" <a href='http://"+ request.getServerName() + ":" + request.getServerPort() + request.getContextPath()+"/pages/trabalheConosco/trabalheConosco.load?id="+hashID+"&autentica=S'>Ativar Cadastro</a><br>"); msgEmail.append(" <br>Depois de ativar, voc� poder� complementar seu curr�culo.<br><br>"); msgEmail.append(" </div>"); msgEmail.append(" </td>"); msgEmail.append(" </tr>"); msgEmail.append(" </tbody>"); msgEmail.append(" </table>"); msgEmail.append(" <table style='line-height:1.5;font-size:12px;font-family:Arial,sans-serif;margin-right:30px;margin-left:30px' width='490' border='0' cellspacing='0' cellpadding='0' bgcolor='#ffffff'>"); msgEmail.append(" <tbody>"); msgEmail.append(" <tr style='font-size:11px;color:#999999'>"); msgEmail.append(" <td style='border-top:solid 1px #d9d9d9' colspan='2'>"); msgEmail.append(" <div style='padding-top:15px;padding-bottom:1px'>"); msgEmail.append(" <br>Atenciosamente,<br><b>Central IT - Governan�a Corporativa</b>"); msgEmail.append(" </div>"); msgEmail.append(" </td>"); msgEmail.append(" </tr>"); msgEmail.append(" <tr><td style='color:#ffffff' colspan='2' height='15'>.</td></tr>"); msgEmail.append(" </tbody>"); msgEmail.append(" </table>"); msgEmail.append(" </div>"); msgEmail.append(" </td>"); msgEmail.append(" </tr>"); msgEmail.append(" </tbody>"); msgEmail.append(" </table>"); msgEmail.append(" </center>"); msgEmail.append(" </td>"); msgEmail.append(" </tr>"); msgEmail.append(" </tbody>"); msgEmail.append("</table>"); System.out.println(msgEmail.toString()); sendSimpleMail("Confirma��o de conta.",candidatoDTO.getEmail(),usuarioEmail,msgEmail.toString()); candidatoDTO.setCpf(candidatoDTO.getCpf().replaceAll("[^0-9]*","")); document.alert(UtilI18N.internacionaliza(request, "candidato.paraValidacaoContaEmail")); document.executeScript("window.location = '" +CitCorporeConstantes.CAMINHO_SERVIDOR + request.getContextPath()+"/pages/loginCandidato/loginCandidato.load'; "); } else { //candidatoDTO.setCpf(candidatoDTO.getCpf().replaceAll("[^0-9]*","")); if(candidatoDTO.getSenha() == null || candidatoDTO.getSenha().equals("") ){ CandidatoDTO auxCandidatoDTO = (CandidatoDTO) candidatoService.restore(candidatoDTO); candidatoDTO.setSenha(auxCandidatoDTO.getSenha()); }else{ String algoritmo = br.com.citframework.util.Constantes.getValue("ALGORITMO_CRIPTOGRAFIA_SENHA"); if (algoritmo == null || !algoritmo.trim().equalsIgnoreCase("")) { algoritmo = "SHA-1"; } candidatoDTO.setSenha(CriptoUtils.generateHash(candidatoDTO.getSenha(), algoritmo)); } candidatoService.updateNotNull(candidatoDTO); document.alert(UtilI18N.internacionaliza(request, "MSG06")); document.executeScript("window.location = '" +CitCorporeConstantes.CAMINHO_SERVIDOR + request.getContextPath()+"/pages/trabalheConosco/trabalheConosco.load'; "); } document.executeScript("fecha_aguarde()"); } private String abreviarNomeCandidato(String nameUser) { StringBuilder finalNameUser = new StringBuilder(); if(nameUser != null){ String[] array = new String[15]; int index; if(nameUser.contains(" ")){ int cont = 0; nameUser = nameUser.trim(); array = nameUser.split(" "); index = array.length; for(String nome : array){ if(cont == 0){ finalNameUser.append(nome.toUpperCase() + " "); cont++; }else{ if(cont == index-1){ finalNameUser.append(" " + nome.toUpperCase()); }else{ if(nome.length() > 3){ finalNameUser.append(nome.substring(0, 1).toUpperCase() + ". "); } cont++; } } } }else{ finalNameUser.append(nameUser.toUpperCase()); } } return finalNameUser.toString(); } public static void sendSimpleMail(String subject, String to, String from, String mensagem) throws AddressException, MessagingException, NamingException, IOException { MensagemEmail em = new MensagemEmail(to, null, null, from, subject, mensagem); try { em.envia(to, null, from); } catch (Exception e) { e.printStackTrace(); } /* Properties mailProps = new Properties(); mailProps.put("mail.smtp.host", "smtp.gmail.com"); mailProps.put("mail.smtp.auth", "true"); mailProps.put("mail.user", usuarioEmail); mailProps.put("mail.from",from); mailProps.put("mail.to",to); mailProps.put("mail.pwd",senha); //Autenticador aut = new Autenticador(usuario,senha); mailProps.put("mail.smtp.socketFactory.port", "465"); mailProps.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); mailProps.put("mail.smtp.auth", "true"); mailProps.put("mail.smtp.port", "465"); Context ic = new InitialContext(); //Session mailSession = (Session) ic.lookup("java:comp/env/mail/TheMailSession"); Session mailSession = Session.getInstance(props, authenticator) Session mailSession = Session.getInstance(mailProps, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(usuarioEmail, senha); } }); //Properties mailProps = new Properties(); //mailProps.put("mail.smtp.host", MAIL_SERVER); //Session mailSession = Session.getDefaultInstance(mailProps, null); // LOGGER.info("-----> vai entrar no laco..."); // for (int i = 0; i < destinatarios.length; i++) { InternetAddress destinatario = new InternetAddress(to); InternetAddress remetente = new InternetAddress(from); // LOGGER.info(remetente); // LOGGER.info(" -------- INICIO simple mail --------"); // LOGGER.info("E-mail do Destinat�rio: " + destinatario); // LOGGER.info("Remetente: " + remetente); // LOGGER.info(" -------- FIM simple mail --------"); Message message = new MimeMessage(mailSession); //Message message = prepareHeader(from, to, "", "", subject); message.setFrom(remetente); message.setRecipient(Message.RecipientType.TO, destinatario); message.setSubject(subject); message.setContent(mensagem.toString(), "text/html"); Transport.send(message); // LOGGER.info("-----> fez o send..."); }*/ } }