Regalamiunsorriso/decompiled-libs/www/cli-rus-2.1.9/it/acxent/pg/servlet/UsersSvlt.java

452 lines
17 KiB
Java

package it.acxent.pg.servlet;
import it.acxent.anag.Cliente;
import it.acxent.anag.Clifor;
import it.acxent.anag.Nazione;
import it.acxent.anag.NazioneCR;
import it.acxent.cart.CartStatus;
import it.acxent.cart.servlet.AcCartSvlt;
import it.acxent.db.CRAdapter;
import it.acxent.db.DBAdapter;
import it.acxent.db.ResParm;
import it.acxent.pg.Users;
import it.acxent.pg.UsersCR;
import it.acxent.util.CodiceFiscale;
import it.acxent.util.Vectumerator;
import java.sql.Date;
import java.util.Calendar;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UsersSvlt extends it.acxent.www.servlet.UsersSvlt {
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) {
NazioneCR nCR = new NazioneCR();
nCR.setLang(getLang(req));
req.setAttribute("listaNazioni", new Nazione(getApFull(req)).findAllAttive(getLang(req)));
if (req.getAttribute("msg").equals("Lettura effettuata"))
req.setAttribute("msg", "");
}
protected void fillComboAfterSearch(CRAdapter CR, HttpServletRequest req, HttpServletResponse res) {}
protected DBAdapter getBean(HttpServletRequest req) {
return new Users(getApFull(req));
}
protected CRAdapter getBeanCR(HttpServletRequest req) {
return new UsersCR(getApFull(req));
}
protected void prepareNewRecord(HttpServletRequest req, HttpServletResponse res) {
NazioneCR nCR = new NazioneCR();
nCR.setLang(getLang(req));
req.setAttribute("listaNazioni", new Nazione(getApFull(req)).findAllAttive(getLang(req)));
sendMessage(req, "");
Users bean = new Users(getApFull(req));
if (getLoginUserId(req) > 0L) {
bean.findByPrimaryKey(getLoginUserId(req));
} else {
bean.setFlgMl(1L);
bean.setId_userProfile(bean.getIdUserProfileWww());
}
bean.setCallingJsp(getRequestParameter(req, "callingJsp"));
bean.setId_documento(getRequestLongParameter(req, "id_documento"));
req.setAttribute("bean", bean);
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected String getBeanPageName(HttpServletRequest req) {
return "users";
}
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) {
Users bean = (Users)beanA;
bean.setCallingJsp(getRequestParameter(req, "callingJsp"));
bean.setId_documento(getRequestLongParameter(req, "id_documento"));
req.setAttribute("bean", bean);
return "";
}
private boolean mailConfermaCambiamentoDati(HttpServletRequest req, Users bean, String passwordIscrizione) {
return bean.sendUserDataMailMessageCrypt(passwordIscrizione).getStatus();
}
protected String getRegistrazioneMailMessage() {
return getParm("MAIL_REG").getTesto();
}
protected void sqlActions(HttpServletRequest req, HttpServletResponse res) {
Users bean = new Users(getApFull(req));
long l_id_users = getRequestLongParameter(req, "id_users");
if (l_id_users > 0L)
bean.findByPrimaryKey(l_id_users);
fillObject(req, bean);
if (bean.getLogin().contains("@"))
bean.setEMail(bean.getLogin());
Cliente cli = new Cliente(getApFull(req));
if (bean.getId_users() > 0L)
cli.findByPrimaryKey(bean.getId_clifor());
fillObject(req, cli);
bean.setClifor((Clifor)cli);
String msg = "Impossibile Registrare un nuovo utente:";
if (bean.isLogonDuplicated()) {
msg = msg + " Login già presente in archivio";
forceMessage(req, msg);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
fillComboAfterDetail((DBAdapter)bean, req, res);
req.setAttribute("bean", bean);
callJsp(req, res);
} else if (bean.isEmailDuplicated()) {
Users userMl = new Users(getApFull(req));
userMl.findUsersByEmail(bean.getEMail());
if (userMl.getId_userProfile() == bean.getIdUserProfileMailingList()) {
req.setAttribute("id_users", String.valueOf(userMl.getId_users()));
req.setAttribute("flgValido", "S");
req.setAttribute("id_userProfile", Long.valueOf(bean.getIdUserProfileWww()));
saveUserAndClifor(req, res);
} else {
msg = msg + " Email già presente in archivio";
forceMessage(req, msg);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
fillComboAfterDetail((DBAdapter)bean, req, res);
req.setAttribute("bean", bean);
callJsp(req, res);
}
} else if (bean.isCodFiscDuplicated()) {
msg = msg + " Codice Fiscale già presente in archivio";
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
cli.setCodFisc("");
bean.setCodFisc("");
bean.setClifor((Clifor)cli);
req.setAttribute("bean", bean);
callJsp(req, res);
} else if (cli.isPIvaDuplicated()) {
msg = msg + " Partita Iva già presente in archivio";
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
bean.setPIva("");
cli.setPIva("");
bean.setPIva("");
bean.setClifor((Clifor)cli);
callJsp(req, res);
} else if (!bean.getCodFisc().isEmpty() && !CodiceFiscale.controlloFormale(bean.getCodFisc())) {
msg = msg + " Il codice fiscale non è valido:";
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
cli.setCodFisc("");
bean.setCodFisc("");
bean.setClifor((Clifor)cli);
req.setAttribute("bean", bean);
callJsp(req, res);
} else if (!cli.getPIva().isEmpty() && cli.getPIva().length() != 11) {
msg = msg + " Partita iva non valida:";
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
bean.setPIva("");
cli.setPIva("");
bean.setPIva("");
bean.setClifor((Clifor)cli);
req.setAttribute("bean", bean);
callJsp(req, res);
} else {
req.setAttribute("flgValido", "S");
req.setAttribute("id_userProfile", Long.valueOf(bean.getIdUserProfileWww()));
if (bean.getLogin().contains("@"))
req.setAttribute("eMail", bean.getLogin());
if ((long)getParm("REG_VLD").getNumeroInt() == 1L) {
req.setAttribute("flgValido", "S");
} else {
req.setAttribute("flgValido", "N");
}
if (bean.getId_users() == 0L) {
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()));
}
saveUserAndClifor(req, res);
}
}
protected void recordMailingList(HttpServletRequest req, HttpServletResponse res) {
Users bean = new Users(getApFull(req));
fillObject(req, bean);
ResParm rp = new ResParm();
String msg = "Impossibile Registrare utente ML:";
if (bean.isEmailDuplicated()) {
msg = msg + " Email già presente in archivio - " + msg;
rp.setStatus(false);
rp.setMsg(msg);
if (bean.isEmailDuplicatedNoMl()) {
rp.setErrorCode(1L);
} else {
rp.setErrorCode(2L);
}
req.setAttribute("RP", rp);
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
} else {
bean.setFlgValido("N");
bean.setFlgMl(1L);
bean.setId_userProfile(bean.getIdUserProfileMailingList());
bean.setLangMl(getRequestParameter(req, "langMl"));
bean.setLogin("ML_" + bean.getEMail());
bean.setCognome("MLC_" + bean.getEMail());
bean.setNome("MLN_" + bean.getEMail());
if (bean.getLogin().length() > 30)
bean.setLogin(bean.getLogin().substring(0, 30));
if (bean.getCognome().length() > 30)
bean.setCognome(bean.getCognome().substring(0, 30));
if (bean.getNome().length() > 30)
bean.setNome(bean.getNome().substring(0, 30));
rp = bean.save();
if (rp.getStatus())
bean.sendMLMailMessageOLD(req.getRemoteHost() + " " + req.getRemoteHost());
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
}
}
protected void checkCc(HttpServletRequest req, HttpServletResponse res) {
Users bean = new Users(getApFull(req));
fillObject(req, bean);
ResParm rp = new ResParm();
String msg = "Impossibile Registrare utente ML:";
if (bean.isEmailDuplicated()) {
msg = msg + " Email già presente in archivio - " + msg;
rp.setStatus(false);
rp.setMsg(msg);
if (bean.isEmailDuplicatedNoMl()) {
rp.setErrorCode(1L);
} else {
rp.setErrorCode(2L);
}
req.setAttribute("RP", rp);
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
} else {
bean.setFlgValido("N");
bean.setFlgMl(1L);
bean.setId_userProfile(bean.getIdUserProfileMailingList());
bean.setLogin("ML_" + bean.getEMail());
bean.setCognome("MLC_" + bean.getEMail());
bean.setNome("MLN_" + bean.getEMail());
rp = bean.save();
if (rp.getStatus())
bean.sendMLMailMessageOLD(req.getRemoteHost() + " " + req.getRemoteHost());
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
}
}
protected it.acxent.common.Users getUser(HttpServletRequest req) {
return new Users(getApFull(req));
}
protected ResParm afterSave(DBAdapter beanA, HttpServletRequest req, HttpServletResponse res) {
String msg;
Users bean = (Users)beanA;
long l_id_user = getRequestLongParameter(req, "id_users");
String l_passwordIscrizione = getRequestParameter(req, "pwd");
if (bean.getDBState() == 1) {
msg = "Salvataggio effettuato";
if (l_id_user == 0L) {
if (!mailConfermaCambiamentoDati(req, bean, l_passwordIscrizione)) {
msg = msg + " Attenzione!! Impossibile mandare email di conferma.";
bean.setFlgEmailOk(0L);
} else {
msg = msg + " Inviata mail di conferma.";
bean.setFlgEmailOk(1L);
}
} else {
bean.setFlgEmailOk(1L);
}
setJspPageRelative(getBeanPageName(req) + "Reg.jsp", req);
} else {
msg = "ERRORE!. Non è stato possibile salvare. Contattare l'amministratore o immettere login diverso";
}
forceMessage(req, msg);
return new ResParm(true);
}
protected void otherCommands(HttpServletRequest req, HttpServletResponse res) {
if (getCmd(req).equals("ML")) {
recordMailingList(req, res);
} else if (getCmd(req).equals("checkCC")) {
recordMailingList(req, res);
} else if (getCmd(req).equals("checkUCF")) {
checkUserCF(req, res);
} else {
super.otherCommands(req, res);
}
}
protected void saveUserAndClifor(HttpServletRequest req, HttpServletResponse res) {
Users user = new Users(getApFull(req));
long l_id_users = getRequestLongParameter(req, "id_users");
user.findByPrimaryKey(l_id_users);
fillObject(req, user);
if (user.getId_nazione().isEmpty() || user.getId_nazione().toLowerCase().equals("i")) {
user.setLangMl("it");
user.setLang("it");
} else {
user.setLangMl("en");
user.setLang("en");
}
Clifor cliente = user.getClifor();
fillObject(req, cliente);
String nominativo = getRequestParameter(req, "nominativo");
if (!nominativo.isEmpty()) {
cliente.setFlgAzienda(1L);
cliente.setCognome(nominativo);
cliente.setNome("");
}
cliente.setFlgTipo("C");
ResParm rp = cliente.save();
if (rp.getStatus());
if (rp.getStatus()) {
user.setId_clifor(cliente.getId_clifor());
if (user.getId_userProfile() == 0L)
user.setId_userProfile(user.getIdUserProfileWww());
user.setFlgValido("S");
rp.append(user.save());
if (l_id_users > 0L) {
if (!getRequestParameter(req, "newpwd").isEmpty())
user.salvaNuovaPassword(getRequestParameter(req, "newpwd"));
} else {
rp = user.salvaNuovaPassword(user.getPwd());
}
}
if (rp.getStatus()) {
afterSave((DBAdapter)user, req, res);
sendMessage(req, "Record salvato correttamente");
setJspPage("/usersReg.jsp", req);
} else {
sendMessage(req, "Impossibile salvare: " + rp.getMsg());
setJspPage("/users.jsp", req);
}
req.setAttribute("bean", user);
callJsp(req, res);
}
protected void checkUserCF(HttpServletRequest req, HttpServletResponse res) {
String l_cf = getRequestParameter(req, "codFiscR");
ResParm rp = new ResParm(true);
if (l_cf.isEmpty()) {
rp.setStatus(false);
rp.setMsg("Codice Fiscale errato!");
} else {
Clifor clifor = new Clifor(getApFull(req));
clifor.findByCF(l_cf, "C");
if (clifor.getDBState() == 0) {
rp.setStatus(false);
rp.setMsg("Il Codice Fiscale richiesto non è nei nostri database. ");
} else if (clifor.getDBState() == 1 && clifor.getEMail().isEmpty()) {
rp.setStatus(false);
rp.setMsg("Il Codice Fiscale è nei nostri database ma l'indirizzo email non è stato comunicato.");
} else {
Users user = new Users(getApFull(req));
Vectumerator vec = user.findByClifor(clifor.getId_clifor(), 1, 1);
if (vec.getTotNumberOfRecords() == 0) {
user.setCognome(clifor.getCognome());
user.setNome(clifor.getNome());
if (clifor.getFlgAzienda() == 1L)
user.setNominativo(clifor.getCognome());
user.setFlgValido("S");
user.setId_userProfile(10L);
user.setId_clifor(clifor.getId_clifor());
user.setEMail(clifor.getEMail());
if (!clifor.getCellulare().isEmpty()) {
user.setTelefono(clifor.getCellulare());
} else {
user.setTelefono(clifor.getTelefono());
}
user.setLogin(user.getEMail());
user.setPwd(String.valueOf(Math.random() * 1000000.0D).substring(0, 6));
rp = user.save();
if (rp.getStatus()) {
rp = user.sendUserDataMailMessage();
if (rp.getStatus())
rp.setMsg("Utente creato correttamente. Una Mail ti è stata inviata all'indirizzo email " + user.getEMail());
} else {
rp.setStatus(false);
rp.setMsg("Utente creato correttamente ma non è stato possibile inviare l'email di conferma.");
}
} else {
rp.setStatus(false);
rp.setMsg("Attenzione! Il codice fiscale è nei nostri database ma esiste già un utente web associato. Richiedi i dati di accesso attraverso il recupero del login tramite indirizzo email.");
}
}
}
if (rp.getStatus()) {
forceJspPage("/usersReg.jsp", req);
} else {
forceJspPage("/usersRegError.jsp", req);
}
sendMessage(req, rp.getMsg());
callJsp(req, res);
}
protected void showBean(HttpServletRequest req, HttpServletResponse res) {
long l_id_usersDoc = getRequestLongParameter(req, "id_usersDoc");
req.setAttribute("id_users", String.valueOf(getLoginUserId(req)));
if (l_id_usersDoc > 0L)
req.setAttribute("id_users", Long.valueOf(l_id_usersDoc));
super.showBean(req, res);
}
public void _lostPasword(HttpServletRequest req, HttpServletResponse res) {
_lostPassword(req, res);
}
protected ResParm sendLostPasswordMessage(HttpServletRequest req, HttpServletResponse res) {
Users user = new Users(getApFull(req));
String lostEmail = getRequestParameter(req, AcCartSvlt.ATTR_LOSTPWDEMAIL);
if (lostEmail.isEmpty())
return new ResParm(false, "Email errata");
return user.sendLostPasswordMailMessageCrypt(lostEmail);
}
public void _lostPassword(HttpServletRequest req, HttpServletResponse res) {
try {
CartStatus cs = new CartStatus();
ResParm rp = sendLostPasswordMessage(req, res);
if (!rp.getStatus()) {
forceMessage(req, rp.getMsg());
cs.setStatus(CartStatus.ST_LOSTPWD_SEND_ERROR);
req.setAttribute(AcCartSvlt.ATTR_CART_STATUS, cs);
} else {
forceMessage(req, rp.getMsg());
cs.setStatus(CartStatus.ST_LOSTPWD_SEND_OK);
req.setAttribute(AcCartSvlt.ATTR_CART_STATUS, cs);
}
setJspPageRelative(AcCartSvlt.JSP_LOSTPASSWORD, req);
callJsp(req, res);
} catch (Exception e) {
handleDebug(e);
sendMessage(req, e.getMessage());
callJsp(req, res);
}
}
}