1 19 package org.openbravo.erpCommon.info; 20 21 import org.openbravo.base.secureApp.*; 22 import org.openbravo.xmlEngine.XmlDocument; 23 import org.openbravo.erpCommon.utility.Utility; 24 import org.openbravo.erpCommon.utility.ToolBar; 25 import java.io.*; 26 import javax.servlet.*; 27 import javax.servlet.http.*; 28 import org.openbravo.utils.Replace; 29 30 31 32 public class Project extends HttpSecureAppServlet { 33 34 35 public void init (ServletConfig config) { 36 super.init(config); 37 boolHist = false; 38 } 39 40 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 41 VariablesSecureApp vars = new VariablesSecureApp(request); 42 43 if (vars.commandIn("DEFAULT")) { 44 String strWindowId = vars.getRequestGlobalVariable("WindowID", "Project.windowId"); 45 String strBparnter = vars.getRequestGlobalVariable("inpBpartnerId", "Project.bpartner"); 46 String strNameValue = vars.getRequestGlobalVariable("inpNameValue", "Project.name"); 47 vars.removeSessionValue("Project.key"); 48 if (!strNameValue.equals("")) { 49 int guion = strNameValue.indexOf(" - "); 50 if (guion!=-1) { 51 String strKey = strNameValue.substring(0, guion).trim(); 52 strNameValue = strNameValue.substring(guion+3).trim(); 53 vars.setSessionValue("Project.key", strKey); 54 } 55 vars.setSessionValue("Project.name", strNameValue + "%"); 56 } 57 printPageFS(response, vars); 58 } else if (vars.commandIn("KEY")) { 59 String strWindowId = vars.getRequestGlobalVariable("WindowID", "Project.windowId"); 60 String strBparnter = vars.getRequestGlobalVariable("inpBpartnerId", "Project.bpartner"); 61 String strKeyValue = vars.getRequestGlobalVariable("inpNameValue", "Project.key"); 62 String strIsSOTrx = Utility.getContext(this, vars, "isSOTrx", strWindowId); 63 vars.removeSessionValue("Project.name"); 64 vars.setSessionValue("Project.key", strKeyValue + "%"); 65 ProjectData[] data = ProjectData.selectKey(this, Utility.getContext(this, vars, "#User_Client", "Project"), Utility.getContext(this, vars, "#User_Org", "Project"), strBparnter, strKeyValue + "%"); 66 if (data!=null && data.length==1) { 67 printPageKey(response, vars, data); 68 } else printPageFS(response, vars); 69 } else if (vars.commandIn("FRAME1")) { 70 String strWindowId = vars.getGlobalVariable("WindowID", "Project.windowId", "Project"); 71 String strKeyValue = vars.getGlobalVariable("inpKey", "Project.key", ""); 72 String strNameValue = vars.getGlobalVariable("inpName", "Project.name", ""); 73 String strBpartners = vars.getGlobalVariable("inpBpartnerId", "Project.bpartner", ""); 74 printPageFrame1(response, vars, strKeyValue, strNameValue, strBpartners, strWindowId); 75 } else if (vars.commandIn("FRAME2")) { 76 String strWindowId = vars.getGlobalVariable("inpWindowID", "Project.windowId", "Project"); 77 String strKey = vars.getGlobalVariable("inpKey", "Project.key", ""); 78 String strName = vars.getGlobalVariable("inpName", "Project.name", ""); 79 String strBpartners = vars.getGlobalVariable("inpBpartnerId", "Project.bpartner", ""); 80 String strIsSOTrx = Utility.getContext(this, vars, "isSOTrx", strWindowId); 81 printPageFrame2(response, vars, strKey, strName, strBpartners, strIsSOTrx); 82 } else if (vars.commandIn("FIND")) { 83 String strWindowId = vars.getRequestGlobalVariable("inpWindowId", "Project.windowId"); 84 String strKey = vars.getRequestGlobalVariable("inpKey", "Project.key"); 85 String strName = vars.getRequestGlobalVariable("inpName", "Project.name"); 86 String strBpartners = vars.getRequestGlobalVariable("inpBpartnerId", "Project.bpartner"); 87 String strIsSOTrx = Utility.getContext(this, vars, "isSOTrx", strWindowId); 88 89 vars.setSessionValue("Project.initRecordNumber", "0"); 90 91 printPageFrame2(response, vars, strKey, strName, strBpartners, strIsSOTrx); 92 } else if (vars.commandIn("FRAME3")) { 93 printPageFrame3(response, vars); 94 } else if (vars.commandIn("PREVIOUS_RELATION")) { 95 String strInitRecord = vars.getSessionValue("Project.initRecordNumber"); 96 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "Project"); 97 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 98 if (strInitRecord.equals("") || strInitRecord.equals("0")) vars.setSessionValue("Project.initRecordNumber", "0"); 99 else { 100 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 101 initRecord -= intRecordRange; 102 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 103 vars.setSessionValue("Project.initRecordNumber", strInitRecord); 104 } 105 106 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 107 } else if (vars.commandIn("NEXT_RELATION")) { 108 String strInitRecord = vars.getSessionValue("Project.initRecordNumber"); 109 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "Project"); 110 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 111 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 112 if (initRecord==0) initRecord=1; 113 initRecord += intRecordRange; 114 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 115 vars.setSessionValue("Project.initRecordNumber", strInitRecord); 116 117 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 118 } else pageError(response); 119 } 120 121 void printPageFS(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 122 if (log4j.isDebugEnabled()) log4j.debug("Output: Project seeker Frame Set"); 123 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/Project_FS").createXmlDocument(); 124 125 response.setContentType("text/html; charset=UTF-8"); 126 PrintWriter out = response.getWriter(); 127 out.println(xmlDocument.print()); 128 out.close(); 129 } 130 131 void printPageKey(HttpServletResponse response, VariablesSecureApp vars, ProjectData[] data) throws IOException, ServletException { 132 if (log4j.isDebugEnabled()) log4j.debug("Output: Project seeker Frame Set"); 133 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SearchUniqueKeyResponse").createXmlDocument(); 134 135 xmlDocument.setParameter("script", generateResult(data)); 136 response.setContentType("text/html; charset=UTF-8"); 137 PrintWriter out = response.getWriter(); 138 out.println(xmlDocument.print()); 139 out.close(); 140 } 141 142 String generateResult(ProjectData[] data) throws IOException, ServletException { 143 StringBuffer html = new StringBuffer (); 144 145 html.append("\nfunction depurarSelector() {\n"); 146 html.append("var clave = \"" + data[0].cProjectId + "\";\n"); 147 html.append("var texto = \"" + Replace.replace((data[0].value + " - " + data[0].name), "\"", "\\\"") + "\";\n"); 148 html.append("parent.opener.closeSearch(\"SAVE\", clave, texto);\n"); 149 html.append("}\n"); 150 return html.toString(); 151 } 152 153 void printPageFrame1(HttpServletResponse response, VariablesSecureApp vars, String strKeyValue, String strNameValue, String strBpartners, String strWindow) throws IOException, ServletException { 154 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 1 of the projects seeker"); 155 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/Project_F1").createXmlDocument(); 156 if (strKeyValue.equals("") && strNameValue.equals("")) { 157 xmlDocument.setParameter("key", "%"); 158 } else { 159 xmlDocument.setParameter("key", strKeyValue); 160 } 161 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 162 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 163 xmlDocument.setParameter("windowId", strWindow); 164 xmlDocument.setParameter("name", strNameValue); 165 xmlDocument.setParameter("claveTercero", strBpartners); 166 xmlDocument.setParameter("tercero", ProjectData.selectTercero(this, strBpartners)); 167 response.setContentType("text/html; charset=UTF-8"); 168 PrintWriter out = response.getWriter(); 169 out.println(xmlDocument.print()); 170 out.close(); 171 } 172 173 void printPageFrame2(HttpServletResponse response, VariablesSecureApp vars, String strKey, String strName, String strBpartners, String strIsSOTrx) throws IOException, ServletException { 174 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 2 of the projects seeker"); 175 XmlDocument xmlDocument; 176 177 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "Project"); 178 int intRecordRange = (strRecordRange.equals("")?0:Integer.parseInt(strRecordRange)); 179 String strInitRecord = vars.getSessionValue("Project.initRecordNumber"); 180 int initRecordNumber = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 181 if (!strIsSOTrx.equals("Y")) strBpartners=""; 182 boolean hasPrevious=false, hasNext=false; 183 if (strKey.equals("") && strName.equals("") && strBpartners.equals("")) { 184 String [] discard = {"sectionDetail"}; 185 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/Project_F2", discard).createXmlDocument(); 186 xmlDocument.setData("structure1", ProjectData.set()); 187 } else { 188 hasPrevious = hasNext = true; 189 ProjectData[] data = ProjectData.select(this, vars.getLanguage(), Utility.getContext(this, vars, "#User_Client", "Project"), Utility.getContext(this, vars, "#User_Org", "Project"), strKey, strName, strBpartners, initRecordNumber, intRecordRange); 190 if (data==null || data.length==0 || initRecordNumber<=1) hasPrevious = false; 191 if (data==null || data.length==0 || data.length<intRecordRange) hasNext = false; 192 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/Project_F2").createXmlDocument(); 193 xmlDocument.setData("structure1", data); 194 } 195 196 ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "Project_F2", false, "document.frmMain.inpClave", "", "", false, "info", strReplaceWith, false, true); 197 toolbar.prepareInfoTemplate(hasPrevious, hasNext, vars.getSessionValue("#ShowTest", "N").equals("Y")); 198 xmlDocument.setParameter("toolbar", toolbar.toString()); 199 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 200 response.setContentType("text/html; charset=UTF-8"); 201 PrintWriter out = response.getWriter(); 202 out.println(xmlDocument.print()); 203 out.close(); 204 } 205 206 void printPageFrame3(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 207 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 3 of the projects seeker"); 208 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/Project_F3").createXmlDocument(); 209 210 response.setContentType("text/html; charset=UTF-8"); 211 PrintWriter out = response.getWriter(); 212 out.println(xmlDocument.print()); 213 out.close(); 214 } 215 216 public String getServletInfo() { 217 return "Servlet that presents the project seeker"; 218 } } 220 | Popular Tags |