1 14 package org.compiere.wstore; 15 16 import javax.servlet.*; 17 import javax.servlet.http.*; 18 import java.io.*; 19 import java.util.*; 20 import java.sql.*; 21 22 import org.apache.ecs.*; 23 import org.apache.ecs.xhtml.*; 24 import org.apache.log4j.Logger; 25 26 import org.compiere.model.*; 27 import org.compiere.util.*; 28 import org.compiere.www.*; 29 30 36 public class RequestServlet extends HttpServlet 37 { 38 39 private Logger log = Logger.getLogger(getClass()); 40 41 static public final String NAME = "requestServlet"; 42 43 49 public void init(ServletConfig config) 50 throws ServletException 51 { 52 super.init(config); 53 if (!WEnv.initWeb(config)) 54 throw new ServletException("RequestServlet.init"); 55 } 57 61 public String getServletInfo() 62 { 63 return "Compiere Web Request Servlet"; 64 } 66 69 public void destroy() 70 { 71 log.debug("destroy"); 72 } 74 75 76 public static final String P_FORWARDTO = "ForwardTo"; 77 public static final String P_SOURCE = "Source"; 78 public static final String P_INFO = "Info"; 79 80 public static final String P_SALESREP_ID = "SalesRep_ID"; 81 public static final String P_REQUESTTYPE_ID= "RequestType_ID"; 82 public static final String P_SUMMARY = "Summary"; 83 84 93 public void doGet(HttpServletRequest request, HttpServletResponse response) 94 throws ServletException, IOException 95 { 96 log.info("doGet from " + request.getRemoteHost() + " - " + request.getRemoteAddr() + " - forward to request.jsp"); 97 response.sendRedirect("request.jsp"); 98 } 100 101 102 103 111 public void doPost(HttpServletRequest request, HttpServletResponse response) 112 throws ServletException, IOException 113 { 114 log.info("doPost from " + request.getRemoteHost() + " - " + request.getRemoteAddr()); 115 116 HttpSession session = request.getSession(true); 118 session.removeAttribute(JSPEnv.HDR_MESSAGE); 119 Properties ctx = JSPEnv.getCtx(request); 121 WebUser wu = (WebUser)session.getAttribute(WebUser.NAME); 122 if (wu == null) 123 { 124 log.warn("doPost - no web user"); 125 response.sendRedirect("loginServlet?ForwardTo=requests.jsp"); 126 return; 127 } 128 String requestURL = request.getRequestURL().toString(); 130 String requestRef = request.getHeader("referer"); 131 String source = request.getParameter(P_SOURCE); 132 String info = request.getParameter(P_INFO); 133 String forwardTo = request.getParameter(P_FORWARDTO); 134 log.debug(" Referer=" + requestRef + ", Source=" + source + ", ForwardTo=" + forwardTo); 135 if (requestURL == null) 136 requestURL = ""; 137 if (requestURL.equals(requestRef)) { 139 requestRef = source; 140 source = null; 141 } 142 143 int AD_Client_ID = Env.getContextAsInt(ctx, "AD_Client_ID"); 144 int SalesRep_ID = WUtil.getParameterAsInt(request, P_SALESREP_ID); 145 int R_RequestType_ID = WUtil.getParameterAsInt(request, P_REQUESTTYPE_ID); 146 String Summary = request.getParameter(P_SUMMARY); 147 MRequest r = new MRequest(ctx, SalesRep_ID, R_RequestType_ID, Summary, true); 149 r.setC_BPartner_ID(wu.getC_BPartner_ID()); 150 r.setAD_User_ID(wu.getAD_User_ID()); 151 r.setSalesRep_ID(SalesRep_ID); 152 StringBuffer sb = new StringBuffer (); 153 sb.append("From:").append(request.getRemoteAddr()).append("-").append(request.getRemoteAddr()); 154 sb.append(", Request:").append(requestURL).append("-").append(requestRef); 155 if (source != null) 156 sb.append("-").append(source); 157 sb.append("-").append(info); 158 sb.append(", User=").append(request.getHeader("accept-language")).append("-").append(request.getHeader("user-agent")); 159 r.setLastResult(sb.toString()); 160 if (!r.save()) 162 { 163 log.error("post - Request NOT saved"); 164 WUtil.createErrorPage(request, response, this, Env.getCtx(), 165 "Request Process Error."); 166 167 return; 168 } 169 170 String webStoreURL = "http://" + request.getServerName() + request.getContextPath() + "/"; 172 String subject = "Compiere Web Request"; 173 String message = "Thank you for your request on " + webStoreURL 174 + "\n\n" + Summary; 175 String SMTPHost = ctx.getProperty("SMTPHost", "localhost"); 176 String RequestEMail = ctx.getProperty("RequestEMail"); 177 String RequestUser = ctx.getProperty("RequestUser"); 178 String RequestUserPw = ctx.getProperty("RequestUserPw"); 179 EMail em = new EMail(SMTPHost, RequestEMail, wu.getEmail(), subject, message); 181 em.setEMailUser(RequestUser, RequestUserPw); 182 String webOrderEMail = ctx.getProperty("webOrderEMail"); 184 em.addBcc(webOrderEMail); 185 em.send(); 186 187 if (forwardTo == null || forwardTo.length() == 0) 189 forwardTo = requestRef; 190 if (forwardTo == null || forwardTo.length() == 0) 191 forwardTo = webStoreURL; 192 if (forwardTo.indexOf("Servlet") != -1) 193 forwardTo = webStoreURL; 194 WUtil.createForwardPage(response, "Web Request Received - Thanks", forwardTo); 195 } 197 } | Popular Tags |