1 19 package org.openbravo.erpCommon.ad_help; 20 21 import org.openbravo.base.secureApp.*; 22 import org.openbravo.xmlEngine.XmlDocument; 23 import org.openbravo.erpCommon.utility.*; 24 import java.io.*; 25 import javax.servlet.*; 26 import javax.servlet.http.*; 27 28 29 30 public class DisplayHelp extends HttpSecureAppServlet { 31 32 33 public void init (ServletConfig config) { 34 super.init(config); 35 boolHist = false; 36 } 37 38 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 39 VariablesSecureApp vars = new VariablesSecureApp(request); 40 if (vars.commandIn("DEFAULT")) { 41 if (log4j.isDebugEnabled()) log4j.debug("BY DEFAULT\n"); 42 String strKeyId = ""; 43 String strType = vars.getRequiredStringParameter("inpwindowType"); 44 if (strType.equals("W")) strKeyId = vars.getRequiredStringParameter("inpwindowId"); 45 printPageDataSheet(response, vars, strKeyId); 46 } else if (vars.commandIn("WINDOW", "TAB", "PROCESS", "FORM")) { 47 vars.getRequiredGlobalVariable("inpClave", "Help.clave"); 48 printPageEdit_FS(response, vars, vars.getCommand()); 49 } else if (vars.commandIn("FIELD")){ 50 vars.getRequiredGlobalVariable("inpClave", "Help.clave"); 51 printPageEdit_FS(response, vars, vars.getCommand()); 52 }else if (vars.commandIn("ELEMENT")){ 53 56 vars.getRequiredGlobalVariable("inpClave", "Help.clave"); 57 printPageEdit_FS(response, vars, vars.getCommand()); 58 }else if (vars.commandIn("EDIT_Window", "EDIT_Tab", "EDIT_Process", "EDIT_Form")) { 59 String strClave = vars.getSessionValue("Help.clave"); 60 vars.removeSessionValue("Help.clave"); 61 printPageEdit_F1(response, vars, strClave, vars.getCommand()); 62 } else if (vars.commandIn("EDIT_Field")){ 63 String strClave = vars.getSessionValue("Help.clave"); 65 vars.removeSessionValue("Help.clave"); 66 printPageEditField_F1(response, vars, strClave, vars.getCommand()); 67 }else if (vars.commandIn("EDIT_Element")){ 68 String strClave = vars.getSessionValue("Help.clave"); 70 if (log4j.isDebugEnabled()) log4j.debug("VALUE OF THE KEY: "+strClave); 71 vars.removeSessionValue("Help.clave"); 73 printPageEditElement_F1(response, vars, strClave, vars.getCommand()); 75 }else if (vars.commandIn("SAVE_Window")) { 76 String strClave = vars.getRequiredStringParameter("inpClave"); 77 String strName = vars.getStringParameter("inpName"); 78 String strHelp = vars.getStringParameter("inpHelp"); 79 OBError myError = null; 80 int total = 0; 81 try { 82 if (vars.getLanguage().equals("en_US")) { 83 total = DisplayHelpEditData.update(this, strName, strHelp, strClave); 84 } else { 85 total = DisplayHelpEditData.updateTrl(this, strName, strHelp, vars.getUser(), strClave, vars.getLanguage()); 86 if (total==0) total = DisplayHelpEditData.insertTrl(this, strClave, vars.getLanguage(), vars.getUser(), strName, strHelp); 87 } 88 } catch(ServletException ex) { 89 myError = Utility.translateError(this, vars, vars.getLanguage(), ex.getMessage()); 90 if (!myError.isConnectionAvailable()) { 91 bdErrorConnection(response); 92 return; 93 } else vars.setMessage("Help", myError); 94 } 95 if (myError==null && total==0) { 96 myError = Utility.translateError(this, vars, vars.getLanguage(), "@CODE=DBExecuteError"); 97 vars.setMessage("Help", myError); 98 } 99 printPageEdit_F2(response, vars); 100 } else if (vars.commandIn("SAVE_Tab")) { 101 String strClave = vars.getRequiredStringParameter("inpClave"); 102 String strName = vars.getStringParameter("inpName"); 103 String strHelp = vars.getStringParameter("inpHelp"); 104 OBError myError = null; 105 int total = 0; 106 try { 107 if (vars.getLanguage().equals("en_US")) { 108 total = DisplayHelpEditData.updateTab(this, strName, strHelp, strClave); 109 } else { 110 total = DisplayHelpEditData.updateTabTrl(this, strName, strHelp, vars.getUser(), strClave, vars.getLanguage()); 111 if (total==0) total = DisplayHelpEditData.insertTabTrl(this, strClave, vars.getLanguage(), vars.getUser(), strName, strHelp); 112 } 113 } catch(ServletException ex) { 114 myError = Utility.translateError(this, vars, vars.getLanguage(), ex.getMessage()); 115 if (!myError.isConnectionAvailable()) { 116 bdErrorConnection(response); 117 return; 118 } else vars.setMessage("Help", myError); 119 } 120 if (myError==null && total==0) { 121 myError = Utility.translateError(this, vars, vars.getLanguage(), "@CODE=DBExecuteError"); 122 vars.setMessage("Help", myError); 123 } 124 printPageEdit_F2(response, vars); 125 } else if (vars.commandIn("SAVE_Form")) { 126 String strClave = vars.getRequiredStringParameter("inpClave"); 127 String strName = vars.getStringParameter("inpName"); 128 String strHelp = vars.getStringParameter("inpHelp"); 129 OBError myError = null; 130 int total = 0; 131 try { 132 if (vars.getLanguage().equals("en_US")) { 133 total = DisplayHelpEditData.updateForm(this, strName, strHelp, strClave); 134 } else { 135 total = DisplayHelpEditData.updateFormTrl(this, strName, strHelp, vars.getUser(), strClave, vars.getLanguage()); 136 if (total==0) total = DisplayHelpEditData.insertFormTrl(this, strClave, vars.getLanguage(), vars.getUser(), strName, strHelp); 137 } 138 } catch(ServletException ex) { 139 myError = Utility.translateError(this, vars, vars.getLanguage(), ex.getMessage()); 140 if (!myError.isConnectionAvailable()) { 141 bdErrorConnection(response); 142 return; 143 } else vars.setMessage("Help", myError); 144 } 145 if (myError==null && total==0) { 146 myError = Utility.translateError(this, vars, vars.getLanguage(), "@CODE=DBExecuteError"); 147 vars.setMessage("Help", myError); 148 } 149 printPageEdit_F2(response, vars); 150 } else if (vars.commandIn("SAVE_Process")) { 151 String strClave = vars.getRequiredStringParameter("inpClave"); 152 String strName = vars.getStringParameter("inpName"); 153 String strHelp = vars.getStringParameter("inpHelp"); 154 OBError myError = null; 155 int total = 0; 156 try { 157 if (vars.getLanguage().equals("en_US")) { 158 total = DisplayHelpEditData.updateProcess(this, strName, strHelp, strClave); 159 } else { 160 total = DisplayHelpEditData.updateProcessTrl(this, strName, strHelp, vars.getUser(), strClave, vars.getLanguage()); 161 if (total==0) total = DisplayHelpEditData.insertProcessTrl(this, strClave, vars.getLanguage(), vars.getUser(), strName, strHelp); 162 } 163 } catch(ServletException ex) { 164 myError = Utility.translateError(this, vars, vars.getLanguage(), ex.getMessage()); 165 if (!myError.isConnectionAvailable()) { 166 bdErrorConnection(response); 167 return; 168 } else vars.setMessage("Help", myError); 169 } 170 if (myError==null && total==0) { 171 myError = Utility.translateError(this, vars, vars.getLanguage(), "@CODE=DBExecuteError"); 172 vars.setMessage("Help", myError); 173 } 174 printPageEdit_F2(response, vars); 175 } else if (vars.commandIn("SAVE_Field")) { 176 if (log4j.isDebugEnabled()) log4j.debug("WE GET IN TO SAVE THE 'FIELD' FIELD\n"); 177 String strClave = vars.getRequiredStringParameter("inpClave"); 178 String strName = vars.getStringParameter("inpName"); 179 String strHelp = vars.getStringParameter("inpHelp"); 180 String strCentrally = vars.getStringParameter("inpiscentrallymaintained"); 181 if (log4j.isDebugEnabled()) log4j.debug("THE FIELDS IT RETURNS ARE: "+strClave+strName+strHelp+strCentrally); 182 if (strCentrally.equals("Y")){} 183 else { 184 strCentrally = "N"; 185 } 186 OBError myError = null; 187 int total = 0; 188 try { 189 if (vars.getLanguage().equals("en_US")) { 190 total = DisplayHelpEditData.updateField(this, strName, strHelp, strCentrally, strClave); 191 } else { 192 if (log4j.isDebugEnabled()) log4j.debug("WE MAKE AN UPDATE"); 193 total = DisplayHelpEditData.updateFieldTrl(this, strName, strHelp, vars.getUser(), strClave, vars.getLanguage()); 194 if (log4j.isDebugEnabled()) log4j.debug("NUMBER OF MODIFIED COLUMNS: "+total); 195 if (total==0) total = DisplayHelpEditData.insertFieldTrl(this, strClave, vars.getLanguage(), vars.getUser(), strName, strHelp); 196 DisplayHelpEditData.updateFieldTrlIscentrally(this, strCentrally, vars.getUser(), strClave); 197 } 198 } catch(ServletException ex) { 199 myError = Utility.translateError(this, vars, vars.getLanguage(), ex.getMessage()); 200 if (!myError.isConnectionAvailable()) { 201 bdErrorConnection(response); 202 return; 203 } else vars.setMessage("Help", myError); 204 } 205 if (myError==null && total==0) { 206 myError = Utility.translateError(this, vars, vars.getLanguage(), "@CODE=DBExecuteError"); 207 vars.setMessage("Help", myError); 208 } 209 printPageEdit_F2(response, vars); 210 } else if (vars.commandIn("SAVE_Element")){ 211 if (log4j.isDebugEnabled()) log4j.debug("WE SAVE THE ELEMENT\n"); 212 String strClave = vars.getRequiredStringParameter("inpElement"); 213 String strName = vars.getStringParameter("inpName"); 214 String strHelp = vars.getStringParameter("inpHelp"); 215 String strField = vars.getStringParameter("inpClave"); 216 String strType = vars.getStringParameter("inpType"); 217 if (log4j.isDebugEnabled()) log4j.debug("VALUE OF THE FIELD: "+strType); 218 if (vars.getLanguage().equals("en_US")) { 219 DisplayHelpEditData.updateElement(this, strName, strHelp, strClave); 220 } else { 221 if (log4j.isDebugEnabled()) log4j.debug("WE MAKE THE UPDATE"); 222 int total = DisplayHelpEditData.updateElementTrl(this, strName, strHelp, vars.getUser(), strClave, vars.getLanguage()); 223 if (total==0) DisplayHelpEditData.insertElementTrl(this, strClave, vars.getLanguage(), vars.getUser(), strName, strHelp); 224 } 225 DisplayHelpEditData[] dataisCentrally = DisplayHelpEditData.selectIsCentrally(this, strField); 226 String strisCentrally = dataisCentrally[0].iscentrallymaintained; 227 if (strisCentrally.equals("Y")){ 228 if (log4j.isDebugEnabled()) log4j.debug("WE REDRAW THE 'FIELD' FIELD\n"); 229 printPageEditField_F2(response, vars); 230 } 231 else { 232 printPageEditElement_F2(response, vars); 233 } 234 }else { 235 pageError(response); 236 } 237 } 238 239 void printPageDataSheet(HttpServletResponse response, VariablesSecureApp vars, String strWindow) throws IOException, ServletException { 240 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Displayer"); 241 253 response.setContentType("text/html; charset=UTF-8"); 254 PrintWriter out = response.getWriter(); 255 out.println(HelpWindow.generateWindow(this, xmlEngine, vars, false, strWindow)); 257 out.close(); 258 } 259 260 void printPageEdit_FS(HttpServletResponse response, VariablesSecureApp vars, String strTipo) throws IOException, ServletException { 261 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Editor"); 262 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_help/DisplayHelp_Edit_FS").createXmlDocument(); 263 264 xmlDocument.setParameter("command", ((strTipo.indexOf("WINDOW")!=-1)?"Window":((strTipo.indexOf("TAB")!=-1)?"Tab":((strTipo.indexOf("FIELD")!=-1)?"Field":((strTipo.indexOf("PROCESS")!=-1)?"Process":((strTipo.indexOf("FORM")!=-1)?"Form":"Element")))))); 265 response.setContentType("text/html; charset=UTF-8"); 266 PrintWriter out = response.getWriter(); 267 out.println(xmlDocument.print()); 268 out.close(); 269 } 270 271 void printPageEdit_F1(HttpServletResponse response, VariablesSecureApp vars, String strClave, String strTipo) throws IOException, ServletException { 272 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Editor"); 273 String [] discard = {""}; 274 DisplayHelpEditData[] data; 275 if (strTipo.equalsIgnoreCase("EDIT_Window")) { 276 data = (vars.getLanguage().equals("en_US")?DisplayHelpEditData.select(this, strClave):DisplayHelpEditData.selectTrl(this, vars.getLanguage(), strClave)); 277 strTipo = "Window"; 278 } else if (strTipo.equalsIgnoreCase("EDIT_Tab")) { 279 data = (vars.getLanguage().equals("en_US")?DisplayHelpEditData.selectTab(this, strClave):DisplayHelpEditData.selectTabTrl(this, vars.getLanguage(), strClave)); 280 strTipo="Tab"; 281 } else if (strTipo.equalsIgnoreCase("EDIT_Form")) { 282 data = (vars.getLanguage().equals("en_US")?DisplayHelpEditData.selectForm(this, strClave):DisplayHelpEditData.selectFormTrl(this, vars.getLanguage(), strClave)); 283 strTipo="Form"; 284 discard[0] = new String ("discardName"); 285 } else if (strTipo.equalsIgnoreCase("EDIT_Process")) { 286 data = (vars.getLanguage().equals("en_US")?DisplayHelpEditData.selectProcess(this, strClave):DisplayHelpEditData.selectProcessTrl(this, vars.getLanguage(), strClave)); 287 strTipo="Process"; 288 discard[0] = new String ("discardName"); 289 } else { 290 data = (vars.getLanguage().equals("en_US")?DisplayHelpEditData.selectField(this, strClave):DisplayHelpEditData.selectFieldTrl(this, vars.getLanguage(), strClave)); 291 strTipo="Field"; 292 } 293 294 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_help/DisplayHelp_Edit_F1", discard).createXmlDocument(); 295 296 OBError myMessage = vars.getMessage("Help"); 297 vars.removeMessage("Help"); 298 if (myMessage!=null) { 299 xmlDocument.setParameter("messageType", myMessage.getType()); 300 xmlDocument.setParameter("messageTitle", myMessage.getTitle()); 301 xmlDocument.setParameter("messageMessage", myMessage.getMessage()); 302 } 303 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 304 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 305 xmlDocument.setParameter("save", strTipo); 306 xmlDocument.setData("structure1", data); 307 response.setContentType("text/html; charset=UTF-8"); 308 PrintWriter out = response.getWriter(); 309 out.println(xmlDocument.print()); 310 out.close(); 311 } 312 313 void printPageEdit_F2(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 314 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Editor"); 315 OBError myMessage = vars.getMessage("Help"); 316 vars.removeMessage("Help"); 317 StringBuffer message = new StringBuffer (); 318 String [] discard = {"discardError"}; 319 if (myMessage!=null) { 320 message.append("function cerrarHelpEditor(){\n"); 321 message.append(" parent.frameSuperior.setValues_MessageBox(\"messageBoxID\", \"").append(myMessage.getType()).append("\", \""); 322 message.append(myMessage.getTitle()).append("\", \"").append(myMessage.getMessage()).append("\");\n"); 323 message.append(" return true;\n"); 324 message.append("}"); 325 discard[0] = "discardClose"; 326 } 327 328 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_help/DisplayHelp_Edit_F2", discard).createXmlDocument(); 329 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 330 xmlDocument.setParameter("message", message.toString()); 331 response.setContentType("text/html; charset=UTF-8"); 332 PrintWriter out = response.getWriter(); 333 out.println(xmlDocument.print()); 334 out.close(); 335 } 336 337 void printPageEditField_F1(HttpServletResponse response, VariablesSecureApp vars, String strClave, String strTipo) throws IOException, ServletException{ 338 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Editor"); 339 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_help/DisplayHelp_Edit_Field_F1").createXmlDocument(); 340 341 OBError myMessage = vars.getMessage("Help"); 342 vars.removeMessage("Help"); 343 if (myMessage!=null) { 344 xmlDocument.setParameter("messageType", myMessage.getType()); 345 xmlDocument.setParameter("messageTitle", myMessage.getTitle()); 346 xmlDocument.setParameter("messageMessage", myMessage.getMessage()); 347 } 348 DisplayHelpEditData[] data; 349 data = (vars.getLanguage().equals("en_US")?DisplayHelpEditData.selectField(this, strClave):DisplayHelpEditData.selectFieldTrl(this, vars.getLanguage(), strClave)); 350 strTipo="Field"; 351 String strEdit="Element"; 352 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 353 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 354 xmlDocument.setParameter("field", strClave); 355 xmlDocument.setParameter("save", strTipo); 356 xmlDocument.setParameter("edit", strEdit); 357 xmlDocument.setData("structure1", data); 358 response.setContentType("text/html; charset=UTF-8"); 359 PrintWriter out = response.getWriter(); 360 out.println(xmlDocument.print()); 361 out.close(); 362 } 363 364 void printPageEditField_F2(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 365 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Editor"); 366 OBError myMessage = vars.getMessage("Help"); 367 vars.removeMessage("Help"); 368 StringBuffer message = new StringBuffer (); 369 String [] discard = {"discardError"}; 370 if (myMessage!=null) { 371 message.append("function cerrarHelpEditor(){\n"); 372 message.append(" parent.frameSuperior.setValues_MessageBox(\"messageBoxID\", \"").append(myMessage.getType()).append("\", \""); 373 message.append(myMessage.getTitle()).append("\", \"").append(myMessage.getMessage()).append("\");\n"); 374 message.append(" return true;\n"); 375 message.append("}"); 376 discard[0] = "discardClose"; 377 } 378 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_help/DisplayHelp_Edit_Field_F2", discard).createXmlDocument(); 379 if (log4j.isDebugEnabled()) log4j.debug("WE REDRAW THE FIELD OF THE FUNCTION"); 380 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 381 xmlDocument.setParameter("message", message.toString()); 382 response.setContentType("text/html; charset=UTF-8"); 383 PrintWriter out = response.getWriter(); 384 out.println(xmlDocument.print()); 385 out.close(); 386 } 387 388 void printPageEditElement_F1(HttpServletResponse response, VariablesSecureApp vars, String strClave, String strTipo) throws IOException, ServletException{ 389 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Editor"); 390 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_help/DisplayHelp_Edit_Element_F1").createXmlDocument(); 391 392 OBError myMessage = vars.getMessage("Help"); 393 vars.removeMessage("Help"); 394 if (myMessage!=null) { 395 xmlDocument.setParameter("messageType", myMessage.getType()); 396 xmlDocument.setParameter("messageTitle", myMessage.getTitle()); 397 xmlDocument.setParameter("messageMessage", myMessage.getMessage()); 398 } 399 DisplayHelpEditData[] data; 400 data = (vars.getLanguage().equals("en_US")?DisplayHelpEditData.selectElement(this, strClave):DisplayHelpEditData.selectElementTrl(this, vars.getLanguage(), strClave)); 401 strTipo="Element"; 402 String strEdit="Field"; 403 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 404 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 405 xmlDocument.setParameter("save", strTipo); 406 xmlDocument.setParameter("field", strClave); 407 xmlDocument.setParameter("edit", strEdit); 408 xmlDocument.setData("structure1", data); 409 response.setContentType("text/html; charset=UTF-8"); 410 PrintWriter out = response.getWriter(); 411 out.println(xmlDocument.print()); 412 out.close(); 413 414 } 415 416 void printPageEditElement_F2(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 417 if (log4j.isDebugEnabled()) log4j.debug("Output: Help Editor"); 418 OBError myMessage = vars.getMessage("Help"); 419 vars.removeMessage("Help"); 420 StringBuffer message = new StringBuffer (); 421 String [] discard = {"discardError"}; 422 if (myMessage!=null) { 423 message.append("function cerrarHelpEditor(){\n"); 424 message.append(" parent.frameSuperior.setValues_MessageBox(\"messageBoxID\", \"").append(myMessage.getType()).append("\", \""); 425 message.append(myMessage.getTitle()).append("\", \"").append(myMessage.getMessage()).append("\");\n"); 426 message.append(" return true;\n"); 427 message.append("}"); 428 discard[0] = "discardClose"; 429 } 430 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_help/DisplayHelp_Edit_Element_F2", discard).createXmlDocument(); 431 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 432 xmlDocument.setParameter("message", message.toString()); 433 response.setContentType("text/html; charset=UTF-8"); 434 PrintWriter out = response.getWriter(); 435 out.println(xmlDocument.print()); 436 out.close(); 437 } 438 439 public String getServletInfo() { 440 return "Servlet that presents window's help"; 441 } } 443 | Popular Tags |