Regalamiunsorriso/decompiled-libs/www/acxent-common-1.0.1/it/acxent/cc/servlet/UsersSvlt.java

544 lines
21 KiB
Java

package it.acxent.cc.servlet;
import it.acxent.anag.Cliente;
import it.acxent.anag.Clifor;
import it.acxent.anag.DestinazioneDiversa;
import it.acxent.anag.Nazione;
import it.acxent.anag.NazioneCR;
import it.acxent.anag.Users;
import it.acxent.anag.UsersCR;
import it.acxent.cc.Attivita;
import it.acxent.contab.Documento;
import it.acxent.db.ApplParmFull;
import it.acxent.db.CRAdapter;
import it.acxent.db.DBAdapter;
import it.acxent.db.ResParm;
import it.acxent.reg.EcDc;
import it.acxent.util.CodiceFiscale;
import it.acxent.util.Vectumerator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UsersSvlt extends it.acxent.www.servlet.UsersSvlt {
private static final long serialVersionUID = 2411106203332570806L;
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) {
ApplParmFull apFull = getApFull(req);
NazioneCR nCR = new NazioneCR();
nCR.setLang(getLang(req));
req.setAttribute("listaNazioni", new Nazione(apFull).findAllAttive(getLang(req)));
sendMessage(req, "");
Users bean = new Users(apFull);
bean.setFlgMl(1L);
bean.setId_userProfile(bean.getIdUserProfileWww());
bean.setId_nazione("I");
bean.setCallingJsp(getRequestParameter(req, "callingJsp"));
bean.setId_documento(getRequestLongParameter(req, "id_documento"));
try {
req.getSession().removeAttribute("utenteLogon");
req.getSession().removeAttribute("loginUser_id");
} catch (Exception e) {}
req.setAttribute("bean", bean);
}
protected boolean isSecureServlet(HttpServletRequest req) {
return false;
}
protected String getBeanPageName(HttpServletRequest req) {
String temp = super.getBeanPageName(req);
Users user = (Users)getLoginUser(req);
ApplParmFull apFull = getApFull(req);
if (user != null && user.getDBState() == 1 &&
user.isProfileNoReg())
temp = "usersNoReg";
return temp;
}
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) {
Attivita attivita = Attivita.getDefaultInstance(getApFull(req));
return attivita.sendUserDataMailMessageCC(bean, getLang(req), req).getStatus();
}
protected String getRegistrazioneMailMessage() {
return getParm("MAIL_REG").getTesto();
}
protected void sqlActions(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
String l_lang = getLang(req);
Users bean = new Users(apFull);
long l_id_users = getRequestLongParameter(req, "id_users");
if (l_id_users > 0L)
bean.findByPrimaryKey(l_id_users);
fillObject(req, bean);
bean.setEMail(bean.getLogin());
req.setAttribute("eMail", bean.getLogin());
Cliente cli = new Cliente(getApFull(req));
if (bean.getId_users() > 0L)
cli.findByPrimaryKey(bean.getId_clifor());
fillObject(req, cli);
DestinazioneDiversa dd = new DestinazioneDiversa(getApFull(req));
fillObject(req, dd);
cli.setCurrentDD(dd);
bean.setClifor(cli);
String msg = bean.translate("Impossibile Registrare un nuovo utente:", l_lang);
boolean continuoRegistrazione = true;
if (l_id_users == 0L || (l_id_users > 0L && bean.isProfileNoReg()))
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()));
req.getSession().setAttribute("_sendUserMail", String.valueOf(userMl.getId_users()));
saveUserAndClifor(req, res);
} else if (userMl.getId_userProfile() == bean.getIdUserProfileNoReg()) {
if (userMl.getClifor().getCodFisc().toLowerCase().equals(bean.getCodFisc().toLowerCase())) {
req.setAttribute("id_users", String.valueOf(userMl.getId_users()));
req.setAttribute("flgValido", "S");
req.setAttribute("id_userProfile", Long.valueOf(bean.getIdUserProfileWww()));
req.getSession().setAttribute("_sendUserMail", String.valueOf(userMl.getId_users()));
saveUserAndClifor(req, res);
} else {
msg = msg + " Email associata ad un codice fiscale diverso!";
forceMessage(req, msg);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
fillComboAfterDetail((DBAdapter)bean, req, res);
req.setAttribute("beanUser", bean);
callJsp(req, res);
}
} else {
msg = msg + " " + msg;
forceMessage(req, msg);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
fillComboAfterDetail((DBAdapter)bean, req, res);
req.setAttribute("beanUser", bean);
continuoRegistrazione = false;
callJsp(req, res);
}
} else if (cli.isCodFiscDuplicated()) {
msg = msg + " " + msg;
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
cli.setCodFisc("");
bean.setCodFisc("");
bean.setClifor(cli);
req.setAttribute("beanUser", bean);
continuoRegistrazione = false;
callJsp(req, res);
} else if (cli.isPIvaDuplicated()) {
msg = msg + " " + msg;
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
bean.setPIva("");
cli.setPIva("");
bean.setPIva("");
bean.setClifor(cli);
req.setAttribute("beanUser", bean);
continuoRegistrazione = false;
callJsp(req, res);
} else if (!cli.getCodFisc().isEmpty() && cli.getId_nazione().toLowerCase().equals("i") &&
!CodiceFiscale.controlloFormale(cli.getCodFisc())) {
msg = msg + " " + msg;
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
cli.setCodFisc("");
bean.setCodFisc("");
bean.setClifor(cli);
req.setAttribute("beanUser", bean);
continuoRegistrazione = false;
callJsp(req, res);
} else if (!cli.getPIva().isEmpty() && cli.getId_nazione().toLowerCase().equals("i") && cli.getPIva().length() != 11) {
msg = msg + " " + msg;
forceMessage(req, msg);
fillComboAfterDetail((DBAdapter)bean, req, res);
setJspPageRelative(getBeanPageName(req) + ".jsp", req);
bean.setPIva("");
cli.setPIva("");
bean.setPIva("");
bean.setClifor(cli);
req.setAttribute("beanUser", bean);
continuoRegistrazione = false;
callJsp(req, res);
}
if (continuoRegistrazione) {
if (bean.isProfileNoReg() || bean.isProfilML()) {
req.setAttribute("flgValido", "N");
} else {
req.setAttribute("flgValido", "S");
}
if (bean.getId_userProfile() == 0L)
req.setAttribute("id_userProfile", Long.valueOf(bean.getIdUserProfileWww()));
saveUserAndClifor(req, res);
}
}
protected void recordMailingList(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
Attivita attivita = Attivita.getDefaultInstance(apFull);
String l_lang = getLang(req);
Users bean = new Users(apFull);
fillObject(req, bean);
ResParm rp = new ResParm();
String msg = attivita.translate("Impossibile Registrare utente ML:", l_lang);
if (bean.isEmailDuplicated()) {
msg = msg + " " + msg + " - " + attivita.translate("Email già presente in archivio", l_lang);
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(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()) {
Clifor clifor = new Clifor(apFull);
clifor.setFlgTipo("C");
clifor.setCognome(bean.getCognome());
clifor.setNome(bean.getNome());
clifor.setEMail(bean.getEMail());
clifor.setFlgMl(1L);
rp = clifor.save();
if (rp.getStatus()) {
bean.setId_clifor(clifor.getId_clifor());
rp.append(bean.save());
}
if (!rp.getStatus())
handleDebug("recordMailingList: " + rp.getMsg(), 0);
attivita.sendMLMailMessage(bean, getLang(req), req);
}
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 = bean.translate("Impossibile Registrare utente ML:", getLang(req));
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;
ApplParmFull apFull = getApFull(req);
String l_lang = getLang(req);
Attivita attivita = Attivita.getDefaultInstance(apFull);
long l_id_user = getRequestLongParameter(req, "id_users");
if (bean.getDBState() == 1) {
msg = attivita.translate("Salvataggio effettuato", l_lang);
req.getSession().setAttribute("utenteLogon", bean);
req.getSession().setAttribute("loginUser_id", new Long(bean.getId_users()));
if (req.getSession().getAttribute("_sendUserMail") != null || l_id_user == 0L) {
req.getSession().removeAttribute("_sendUserMail");
if (!mailConfermaCambiamentoDati(req, bean)) {
msg = msg + " " + msg;
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 = attivita.translate("ERRORE!. Non è stato possibile salvare. Contattare l'amministratore o immettere login diverso", l_lang);
}
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("MLF")) {
recordMailingListF(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) {
ApplParmFull apFull = getApFull(req);
Users user = new Users(apFull);
long l_id_users = getRequestLongParameter(req, "id_users");
String l_lang = getLang(req);
user.findByPrimaryKey(l_id_users);
fillObject(req, user);
if (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);
cliente.setFlgTipo("C");
if (cliente.getFlgAzienda() == 1L) {
cliente.setNome("");
cliente.setCognome(getRequestParameter(req, "ragioneSociale"));
}
cliente.setContatto(user.getCognomeNome());
ResParm rp = cliente.save();
if (rp.getStatus()) {
DestinazioneDiversa dd = cliente.getCurrentDD();
fillObject(req, dd);
if (dd.getIndirizzoDD().isEmpty()) {
if (dd.getId_destinazioneDiversa() != 0L)
rp.append(dd.delete());
} else {
dd.setId_clifor(cliente.getId_clifor());
dd.setFlgDDDefault(1L);
dd.setDescrizioneDD("Sped. WWW");
rp.append(dd.save());
}
}
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 (rp.getStatus()) {
afterSave((DBAdapter)user, req, res);
forceMessage(req, user.translate("Record salvato correttamente", l_lang));
String callingJsp = getRequestParameter(req, "callingJsp");
if (callingJsp.isEmpty()) {
req.setAttribute("bean", user);
forceJspPage("/usersReg.jsp", req);
callJsp(req, res);
} else {
long l_id_documento = getRequestLongParameter(req, "id_documento");
if (l_id_documento > 0L) {
Documento documento = new Documento(apFull);
documento.findByPrimaryKey(l_id_documento);
if (documento.getId_documento() > 0L) {
documento.setSpeseTrasporto(documento.getDeliveryCostOrdine(user.getClifor()));
rp = documento.save();
}
}
if (callingJsp.endsWith("html")) {
try {
res.sendRedirect(callingJsp);
} catch (Exception e) {
e.printStackTrace();
}
} else {
forceJspPage("/" + callingJsp, req);
callJsp(req, res);
}
}
} else {
sendMessage(req, user.translate("Impossibile salvare: ", l_lang) + user.translate("Impossibile salvare: ", l_lang));
forceJspPage("/users.jsp", req);
req.setAttribute("listaNazioni", new Nazione(apFull).findAllAttive(getLang(req)));
req.setAttribute("bean", user);
callJsp(req, res);
}
}
protected void checkUserCF(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
String l_cf = getRequestParameter(req, "codFiscR");
String l_lang = getLang(req);
Attivita attivita = Attivita.getDefaultInstance(apFull);
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(attivita.translate("Il Codice Fiscale richiesto non è nei nostri database.", l_lang));
} else if (clifor.getDBState() == 1 && clifor.getEMail().isEmpty()) {
rp.setStatus(false);
rp.setMsg(
attivita.translate("Il Codice Fiscale è nei nostri database ma l'indirizzo email non è stato comunicato.", l_lang));
} else {
Users user = new Users(getApFull(req));
Vectumerator<Users> 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(user.getIdUserProfileWww());
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(attivita.translate("Utente creato correttamente. Una Mail ti è stata inviata all'indirizzo email", l_lang) + " " + attivita.translate("Utente creato correttamente. Una Mail ti è stata inviata all'indirizzo email", l_lang));
} else {
rp.setStatus(false);
rp.setMsg(attivita.translate("Utente creato correttamente ma non è stato possibile inviare l'email di conferma.", l_lang));
}
} else {
rp.setStatus(false);
rp.setMsg(attivita.translate("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.", l_lang));
}
}
}
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);
}
protected void recordMailingListF(HttpServletRequest req, HttpServletResponse res) {
ApplParmFull apFull = getApFull(req);
String l_lang = getLang(req);
Attivita attivita = Attivita.getDefaultInstance(apFull);
Users bean = new Users(getApFull(req));
String l_eMail = EcDc.decode64String(getRequestParameter(req, "eMail"));
ResParm rp = new ResParm(false);
String msg = attivita.translate("Impossibile Registrare utente : ", l_lang);
bean.findByEmail(l_eMail);
if (bean.getDBState() == 1) {
if (bean.getFlgValido().equals("N")) {
msg = msg + "Email " + msg + l_eMail;
rp.setErrorCode(9L);
} else if (bean.getFlgMl() == 1L) {
msg = msg + "Email " + msg + l_eMail;
rp.setErrorCode(9L);
} else {
bean.setFlgMl(1L);
rp = bean.save();
msg = "Email " + l_eMail + " iscritta correttamente alla newsletter.";
if (rp.getStatus())
rp.append(bean.sendMLMailMessage(req.getRemoteHost() + " " + req.getRemoteHost(), bean.getLang()));
if (!rp.getStatus()) {
msg = msg + msg + " " + attivita.translate(" Attenzione. Ci sono stati problemi nella registrazione o nell'invio della mail di conferma: ", l_lang);
rp.setErrorCode(9L);
}
}
} else {
msg = msg + "Email " + msg + " " + l_eMail;
rp.setErrorCode(9L);
}
sendMessage(req, msg);
rp.setMsg(msg);
req.setAttribute("RP", rp);
forceJspPageRelative("mailingListUser.jsp", req);
callJsp(req, res);
}
protected String getBEANAttribute(HttpServletRequest req) {
return super.getBEANAttribute(req) + "User";
}
}