package it.acxent.pg.servlet; import it.acxent.db.CRAdapter; import it.acxent.db.DBAdapter; import it.acxent.pg.Users; import it.acxent.pg.UsersCR; import it.acxent.util.CodiceFiscale; import java.sql.Date; import java.util.Calendar; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class RegistraSvlt extends PgSvlt { private static final String PARM_REG_VLD = "REG_VLD"; protected void addRows(HttpServletRequest req, HttpServletResponse res) {} protected void fillComboAfterDetail(DBAdapter bean, HttpServletRequest req, HttpServletResponse res) {} protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {} protected DBAdapter getBean(HttpServletRequest req) { return new Users(getApFull()); } protected CRAdapter getBeanCR(HttpServletRequest req) { return new UsersCR(getApFull()); } protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {} protected boolean isSecureServlet(HttpServletRequest req) { return false; } protected String getBeanPageName(HttpServletRequest req) { return "registra"; } protected String getCmd(HttpServletRequest req) { if (super.getCmd(req).isEmpty()) return "ni"; return super.getCmd(req); } protected String newDispathcerAfterShowBean(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) { String msg; Users bean = (Users)beanA; if (bean.getDBState() == 1) { msg = "Salvataggio effettuato"; if (!mailConfermaCambiamentoDati(req, bean)) { msg = msg + " Attenzione!! Impossibile mandare email di conferma."; } else { msg = msg + " Inviata mail di conferma."; } setJspPageRelative("registraOk.jsp", req); } else { msg = "ERRORE!. Non è stato possibile salvare. Contattare l'amministratore o immettere login diverso"; } forceMessage(req, msg); return ""; } private boolean mailConfermaCambiamentoDati(HttpServletRequest req, Users bean) { return bean.sendUserDataMailMessage().getStatus(); } protected String getRegistrazioneMailMessage() { return getParm("MAIL_REG").getTesto(); } protected void sqlActions(HttpServletRequest req, HttpServletResponse res) { Users bean = new Users(getApFull()); fillObject(req, bean); String msg = "Impossibile Registrare un nuovo utente:"; if (bean.isLogonDuplicated()) { msg = msg + " Login già presente in archivio"; forceMessage(req, msg); setJspPageRelative("registra.jsp", req); req.setAttribute("bean", bean); callJsp(req, res); } else if (bean.isEmailDuplicated()) { msg = msg + " Email già presente in archivio"; forceMessage(req, msg); setJspPageRelative("registra.jsp", req); req.setAttribute("bean", bean); callJsp(req, res); } else if (bean.isCodFiscDuplicated(bean.getCodFisc())) { msg = msg + " Codice Fiscale già presente in archivio"; forceMessage(req, msg); setJspPageRelative("registra.jsp", req); req.setAttribute("bean", bean); callJsp(req, res); } else if (!bean.getCodFisc().isEmpty() && !CodiceFiscale.controlloFormale(bean.getCodFisc())) { msg = msg + " Il codice fiscale non è valido:"; forceMessage(req, msg); setJspPageRelative("registra.jsp", req); req.setAttribute("bean", bean); callJsp(req, res); } else { if ((long)getParm("REG_VLD").getNumeroInt() == 1L) { req.setAttribute("flgValido", "S"); } else { req.setAttribute("flgValido", "N"); } if (getParm("GG_VALIDITA").getNumeroInt() > 0) { Calendar cal = Calendar.getInstance(); cal.add(6, getParm("GG_VALIDITA") .getNumeroInt()); req.setAttribute("dataScadenza", getDataFormat().format(new Date(cal.getTimeInMillis()))); } if (getParm("N_FOTO_MAX").getNumeroInt() > 0) req.setAttribute("nFotoMax", String.valueOf(getParm("N_FOTO_MAX").getNumeroLong())); req.setAttribute("flgMiniature", "1"); super.sqlActions(req, res); } } protected it.acxent.common.Users getUser() { return new Users(getApFull()); } }