KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > wad > WadActionButton


1 /*
2  *************************************************************************
3  * The contents of this file are subject to the Openbravo Public License
4  * Version 1.0 (the "License"), being the Mozilla Public License
5  * Version 1.1 with a permitted attribution clause; you may not use this
6  * file except in compliance with the License. You may obtain a copy of
7  * the License at http://www.openbravo.com/legal/license.html
8  * Software distributed under the License is distributed on an "AS IS"
9  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
10  * License for the specific language governing rights and limitations
11  * under the License.
12  * The Original Code is Openbravo ERP.
13  * The Initial Developer of the Original Code is Openbravo SL
14  * All portions are Copyright (C) 2001-2006 Openbravo SL
15  * All Rights Reserved.
16  * Contributor(s): ______________________________________.
17  ************************************************************************
18 */

19 package org.openbravo.wad;
20
21 import org.openbravo.data.Sqlc;
22 import java.io.*;
23 import java.util.Vector JavaDoc;
24 import org.openbravo.database.ConnectionProvider;
25 import javax.servlet.ServletException JavaDoc;
26 import org.openbravo.xmlEngine.XmlDocument;
27 import org.openbravo.xmlEngine.XmlEngine;
28 import org.openbravo.utils.FormatUtilities;
29 import org.openbravo.wad.controls.*;
30 import java.util.Enumeration JavaDoc;
31 import java.util.Properties JavaDoc;
32
33
34 public class WadActionButton {
35   static final int IMAGE_EDITION_WIDTH = 16;
36   static final int IMAGE_EDITION_HEIGHT = 16;
37
38   public static boolean isNumericType (String JavaDoc reference) {
39     if (reference==null || reference.equals("")) return false;
40     if (WadUtility.isGeneralNumber(reference) || WadUtility.isDecimalNumber(reference) || WadUtility.isPriceNumber(reference) || WadUtility.isIntegerNumber(reference) || WadUtility.isQtyNumber(reference) || reference.equals("18") || reference.equals("19") || reference.equals("21") || reference.equals("23") || reference.equals("25") || reference.equals("26") || reference.equals("27") || reference.equals("28") || reference.equals("30") || reference.equals("31") || reference.equals("35") || reference.equals("32") || reference.equals("33") || reference.equals("800011")) {
41       return true;
42     }
43     return false;
44   }
45
46   public static boolean isDateType (String JavaDoc reference) {
47     if (reference==null || reference.equals("")) return false;
48     if (WadUtility.isDateTimeField(reference)) {
49       return true;
50     }
51     return false;
52   }
53
54   public static ActionButtonRelationData[] buildActionButtonCall(ConnectionProvider conn, String JavaDoc strTab, String JavaDoc tabName, String JavaDoc keyName, String JavaDoc isSOTrx, String JavaDoc window) {
55     ActionButtonRelationData[] fab = null;
56     try {
57       fab = ActionButtonRelationData.select(conn, strTab);
58     } catch (ServletException JavaDoc e) {
59       return null;
60     }
61     if (fab!=null) {
62       for (int i=0;i<fab.length;i++) {
63         Vector JavaDoc<Object JavaDoc> vecFields = new Vector JavaDoc<Object JavaDoc>();
64         Vector JavaDoc<Object JavaDoc> vecParams = new Vector JavaDoc<Object JavaDoc>();
65         Vector JavaDoc<Object JavaDoc> vecTotalFields = new Vector JavaDoc<Object JavaDoc>();
66         if (fab[i].realname.equalsIgnoreCase("DocAction") || fab[i].realname.equalsIgnoreCase("PaymentRule") || (fab[i].realname.equalsIgnoreCase("Posted") && fab[i].adProcessId.equals("")) || (fab[i].realname.equalsIgnoreCase("CreateFrom") && fab[i].adProcessId.equals("")) || fab[i].realname.equalsIgnoreCase("ChangeProjectStatus")) fab[i].xmlid = "";
67         fab[i].realname = FormatUtilities.replace(fab[i].realname);
68         fab[i].columnname = Sqlc.TransformaNombreColumna(fab[i].columnname);
69         fab[i].htmltext = getFieldsLoad(fab[i], vecFields, vecTotalFields);
70         fab[i].javacode = getPrintPageJavaCode(conn, fab[i], vecFields, vecParams, isSOTrx, window, tabName);
71         StringBuffer JavaDoc fields = new StringBuffer JavaDoc();
72         StringBuffer JavaDoc fieldsHeader = new StringBuffer JavaDoc();
73         for (int j=0;j<vecFields.size();j++) {
74           fields.append(", " + vecFields.elementAt(j));
75           fieldsHeader.append(", String " + vecFields.elementAt(j));
76         }
77         fab[i].htmlfields = fields.toString();
78         fab[i].htmlfieldsHeader = fieldsHeader.toString();
79         ProcessRelationData[] data=null;
80         if (!fab[i].adProcessId.equals("") && !fab[i].adProcessId.equals("177")) {
81           try {
82             data = ProcessRelationData.selectParameters(conn, "", fab[i].adProcessId);
83           } catch (ServletException JavaDoc e) {}
84           if (fab[i].realname.equalsIgnoreCase("ChangeProjectStatus")) {
85             fab[i].processParams = "PInstanceProcessData.insertPInstanceParam(this, pinstance, \"0\", \"ChangeProjectStatus\", strchangeprojectstatus, vars.getClient(), vars.getOrg(), vars.getUser());\n";
86             vecParams.addElement("changeprojectstatus");
87           } else fab[i].processParams = "";
88           fab[i].processParams += getProcessParamsJava(data, fab[i], vecParams);
89           fab[i].processCode = "ActionButtonData.process" + fab[i].adProcessId + "(this, pinstance);\n";
90         }
91         fab[i].additionalCode = getAdditionalCode(fab[i], tabName, keyName);
92       }
93     }
94     return fab;
95   }
96
97   public static ActionButtonRelationData[] buildActionButtonCallGenerics(ConnectionProvider conn) {
98     ActionButtonRelationData[] fab = null;
99     try {
100       fab = ActionButtonRelationData.selectGenerics(conn);
101     } catch (ServletException JavaDoc e) {
102       return null;
103     }
104     if (fab!=null) {
105       for (int i=0;i<fab.length;i++) {
106         Vector JavaDoc<Object JavaDoc> vecFields = new Vector JavaDoc<Object JavaDoc>();
107         Vector JavaDoc<Object JavaDoc> vecParams = new Vector JavaDoc<Object JavaDoc>();
108         Vector JavaDoc<Object JavaDoc> vecTotalFields = new Vector JavaDoc<Object JavaDoc>();
109         if (fab[i].realname.equalsIgnoreCase("DocAction") || fab[i].realname.equalsIgnoreCase("PaymentRule") || (fab[i].realname.equalsIgnoreCase("Posted") && fab[i].adProcessId.equals("")) || (fab[i].realname.equalsIgnoreCase("CreateFrom") && fab[i].adProcessId.equals("")) || fab[i].realname.equalsIgnoreCase("ChangeProjectStatus")) fab[i].xmlid = "";
110         fab[i].realname = FormatUtilities.replace(fab[i].realname);
111         fab[i].columnname = Sqlc.TransformaNombreColumna(fab[i].columnname);
112         fab[i].htmltext = getFieldsLoad(fab[i], vecFields, vecTotalFields);
113         fab[i].javacode = getPrintPageJavaCode(conn, fab[i], vecFields, vecParams, "", "", "");
114         StringBuffer JavaDoc fields = new StringBuffer JavaDoc();
115         StringBuffer JavaDoc fieldsHeader = new StringBuffer JavaDoc();
116         for (int j=0;j<vecFields.size();j++) {
117           fields.append(", " + vecFields.elementAt(j));
118           fieldsHeader.append(", String " + vecFields.elementAt(j));
119         }
120         fab[i].htmlfields = fields.toString();
121         fab[i].htmlfieldsHeader = fieldsHeader.toString();
122         ProcessRelationData[] data=null;
123         if (!fab[i].adProcessId.equals("") && !fab[i].adProcessId.equals("177")) {
124           try {
125             data = ProcessRelationData.selectParameters(conn, "", fab[i].adProcessId);
126           } catch (ServletException JavaDoc e) {}
127           if (fab[i].realname.equalsIgnoreCase("ChangeProjectStatus")) {
128             fab[i].processParams = "PInstanceProcessData.insertPInstanceParam(this, pinstance, \"0\", \"ChangeProjectStatus\", strchangeprojectstatus, vars.getClient(), vars.getOrg(), vars.getUser());\n";
129             vecParams.addElement("changeprojectstatus");
130           } else fab[i].processParams = "";
131           fab[i].processParams += getProcessParamsJava(data, fab[i], vecParams);
132           fab[i].processCode = "ActionButtonData.process" + fab[i].adProcessId + "(this, pinstance);\n";
133         }
134         fab[i].additionalCode = getAdditionalCode(fab[i], "", "");
135       }
136     }
137     return fab;
138   }
139
140   public static void getFieldsLoad(String JavaDoc columnname, Vector JavaDoc<Object JavaDoc> vecFields) {
141     if (columnname.equalsIgnoreCase("DocAction")) {
142       vecFields.addElement("DocStatus");
143       vecFields.addElement("AD_Table_ID");
144     } else if (columnname.equalsIgnoreCase("CreateFrom")) {
145       vecFields.addElement("AD_Table_ID");
146     } else if (columnname.equalsIgnoreCase("Posted")) {
147       vecFields.addElement("AD_Table_ID");
148       vecFields.addElement("Posted");
149     } else if (columnname.equalsIgnoreCase("ChangeProjectStatus")) {
150       vecFields.addElement("ProjectStatus");
151     }
152   }
153
154   public static String JavaDoc getFieldsLoad(ActionButtonRelationData fd, Vector JavaDoc<Object JavaDoc> vecFields, Vector JavaDoc<Object JavaDoc> vecTotalFields) {
155     if (fd==null) return "";
156     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
157     if (fd.columnname.equalsIgnoreCase("DocAction")) {
158       html.append("String strdocstatus = vars.getRequiredStringParameter(\"inpdocstatus\");\n");
159       vecFields.addElement("strdocstatus");
160       vecTotalFields.addElement("DocStatus");
161       html.append("String stradTableId = \"" + fd.adTableId + "\";\n");
162       vecFields.addElement("stradTableId");
163       vecTotalFields.addElement("AD_Table_ID");
164     } else if (fd.columnname.equalsIgnoreCase("CreateFrom") && fd.adProcessId.equals("")) {
165       html.append("String stradTableId = \"" + fd.adTableId + "\";\n");
166       vecFields.addElement("stradTableId");
167       vecTotalFields.addElement("AD_Table_ID");
168     } else if (fd.columnname.equalsIgnoreCase("Posted") && fd.adProcessId.equals("")) {
169       html.append("String stradTableId = \"" + fd.adTableId + "\";\n");
170       vecFields.addElement("stradTableId");
171       vecTotalFields.addElement("AD_Table_ID");
172     } else if (fd.columnname.equalsIgnoreCase("ChangeProjectStatus")) {
173       html.append("String strprojectstatus = vars.getRequiredStringParameter(\"inpprojectstatus\");\n");
174       vecFields.addElement("strprojectstatus");
175       vecTotalFields.addElement("ProjectStatus");
176     }
177     return html.toString();
178   }
179
180   public static String JavaDoc getPrintPageJavaCode(ConnectionProvider conn, ActionButtonRelationData fd, Vector JavaDoc<Object JavaDoc> vecFields, Vector JavaDoc<Object JavaDoc> vecParams, String JavaDoc isSOTrx, String JavaDoc window, String JavaDoc tabName) {
181     if (fd==null) return "";
182     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
183     for (int i=0;i<vecFields.size();i++) {
184       String JavaDoc field = vecFields.elementAt(i).toString();
185       field = field.substring(3);
186       html.append("xmlDocument.setParameter(\"" + field + "\", str" + field + ");\n");
187     }
188
189     if (!fd.adProcessId.equals("")) {
190       try {
191         ProcessRelationData[] data = ProcessRelationData.selectParameters(conn, "", fd.adProcessId);
192         html.append(" try {\n");
193         html.append(" ComboTableData comboTableData = null;\n");
194         for (int i=0;i<data.length;i++) {
195           String JavaDoc strDefault = "";
196           html.append(" xmlDocument.setParameter(\"");
197           //html.append(Sqlc.TransformaNombreColumna(data[i].columnname));
198
html.append(data[i].columnname);
199           html.append("\", ");
200           if (data[i].defaultvalue.equals("") || data[i].defaultvalue.indexOf("@")==-1) {
201             strDefault = "\"" + data[i].defaultvalue + "\"";
202           } else if (data[i].defaultvalue.startsWith("@SQL=")) {
203             strDefault = tabName + "Data.selectActP"+ data[i].id + "_" + FormatUtilities.replace(data[i].columnname);
204             strDefault += "(this" + WadUtility.getWadContext(data[i].defaultvalue, vecFields, vecParams, null, false, isSOTrx, window);
205             strDefault += ")";
206           } else {
207             strDefault = WadUtility.getTextWadContext(data[i].defaultvalue, vecFields, vecParams, null, false, isSOTrx, window);
208           }
209           html.append(strDefault).append(");\n");
210           if (data[i].adReferenceId.equals("17") || data[i].adReferenceId.equals("18") || data[i].adReferenceId.equals("19")) {
211             html.append(" comboTableData = new ComboTableData(vars, this, \"");
212             html.append(data[i].adReferenceId).append("\", \"");
213             html.append(data[i].columnname).append("\", \"");
214             html.append(data[i].adReferenceValueId).append("\", \"");
215             html.append(data[i].adValRuleId).append("\", ");
216             html.append("Utility.getContext(this, vars, \"#User_Org\", \"\"), ");
217             html.append("Utility.getContext(this, vars, \"#User_Client\", \"\"), 0");
218             html.append(");\n");
219             html.append(" Utility.fillSQLParameters(this, vars, null, comboTableData, \"\", ").append(strDefault).append(");\n");
220             html.append(" xmlDocument.setData(\"report");
221             //html.append(Sqlc.TransformaNombreColumna(data[i].columnname));
222
html.append(data[i].columnname);
223             html.append("\", \"liststructure\", comboTableData.select(false));\n");
224             html.append("comboTableData = null;\n");
225           } else if (data[i].adReferenceId.equals("15")) {
226             html.append(" xmlDocument.setParameter(\"").append(data[i].columnname).append("_Format\", vars.getSessionValue(\"#AD_SqlDateFormat\"));\n");
227           } else if (data[i].adReferenceId.equals("30") || data[i].adReferenceId.equals("35") || data[i].adReferenceId.equals("25") || data[i].adReferenceId.equals("31") || data[i].adReferenceId.equals("800011")) {
228             html.append(" xmlDocument.setParameter(\"");
229             //html.append(Sqlc.TransformaNombreColumna(data[i].columnname));
230
html.append(data[i].columnname);
231             html.append("R\", ");
232             if (!tabName.equals("")) {
233               html.append(tabName);
234               html.append("Data.selectActDef");
235               html.append(FormatUtilities.replace(data[i].columnname));
236               html.append("(this, ");
237               html.append(((data[i].defaultvalue.equals("") || data[i].defaultvalue.indexOf("@")==-1)? "\"" + data[i].defaultvalue + "\"" : WadUtility.getWadContext(data[i].defaultvalue, vecFields, vecParams, null, false, isSOTrx, window)));
238               html.append(")");
239             } else {
240               html.append("\"\"");
241             }
242             html.append(");\n");
243           }
244           vecParams.addElement(data[i].columnname);
245         }
246         html.append(" } catch (Exception ex) {\n");
247         html.append(" throw new ServletException(ex);\n");
248         html.append(" }\n");
249       } catch (ServletException JavaDoc e) {}
250     }
251     if (fd.columnname.equalsIgnoreCase("DocAction")) {
252       html.append("xmlDocument.setParameter(\"processId\", \"" + fd.adProcessId + "\");\n");
253       String JavaDoc strAux="";
254       try {
255         strAux=ActionButtonRelationData.processDescription(conn, fd.adProcessId);
256       } catch (ServletException JavaDoc e) {}
257       html.append("xmlDocument.setParameter(\"processDescription\", \"" + strAux + "\");\n");
258       html.append("xmlDocument.setParameter(\"docaction\", (strdocaction.equals(\"--\")?\"CL\":strdocaction));\n");
259       html.append("FieldProvider[] dataDocAction = ActionButtonUtility.docAction(this, vars, strdocaction, \"" + fd.adReferenceValueId + "\", strdocstatus, strProcessing, stradTableId);\n");
260       html.append("xmlDocument.setData(\"reportdocaction\", \"liststructure\", dataDocAction);\n");
261       html.append("StringBuffer dact = new StringBuffer();\n");
262       html.append("if (dataDocAction!=null) {\n");
263       html.append(" dact.append(\"var arrDocAction = new Array(\\n\");\n");
264       html.append(" for (int i=0;i<dataDocAction.length;i++) {\n");
265       html.append(" dact.append(\"new Array(\\\"\" + dataDocAction[i].getField(\"id\") + \"\\\", \\\"\" + dataDocAction[i].getField(\"name\") + \"\\\", \\\"\" + dataDocAction[i].getField(\"description\") + \"\\\")\\n\");\n");
266       html.append(" if (i<dataDocAction.length-1) dact.append(\",\\n\");\n");
267       html.append(" }\n");
268       html.append(" dact.append(\");\");\n");
269       html.append("} else dact.append(\"var arrDocAction = null\");\n");
270       html.append("xmlDocument.setParameter(\"array\", dact.toString());\n");
271     } else if (fd.columnname.equalsIgnoreCase("ChangeProjectStatus")) {
272       String JavaDoc strAux="";
273       html.append("xmlDocument.setParameter(\"processId\", \"" + fd.adProcessId + "\");\n");
274       try {
275         strAux=ActionButtonRelationData.processDescription(conn, fd.adProcessId);
276       } catch (ServletException JavaDoc e) {}
277       html.append("xmlDocument.setParameter(\"processDescription\", \"" + strAux + "\");\n");
278       html.append("xmlDocument.setParameter(\"projectaction\", strchangeprojectstatus);\n");
279       html.append("FieldProvider[] dataProjectAction = ActionButtonUtility.projectAction(this, vars, strchangeprojectstatus, \"" + fd.adReferenceValueId + "\", strprojectstatus);\n");
280       html.append("xmlDocument.setData(\"reportprojectaction\", \"liststructure\", dataProjectAction);\n");
281       html.append("StringBuffer dact = new StringBuffer();\n");
282       html.append("if (dataProjectAction!=null) {\n");
283       html.append(" dact.append(\"var arrProjectAction = new Array(\\n\");\n");
284       html.append(" for (int i=0;i<dataProjectAction.length;i++) {\n");
285       html.append(" dact.append(\"new Array(\\\"\" + dataProjectAction[i].getField(\"id\") + \"\\\", \\\"\" + dataProjectAction[i].getField(\"name\") + \"\\\", \\\"\" + dataProjectAction[i].getField(\"description\") + \"\\\")\\n\");\n");
286       html.append(" if (i<dataProjectAction.length-1) dact.append(\",\\n\");\n");
287       html.append(" }\n");
288       html.append(" dact.append(\");\");\n");
289       html.append("} else dact.append(\"var arrProjectAction = null\");\n");
290       html.append("xmlDocument.setParameter(\"array\", dact.toString());\n");
291     } else if (fd.columnname.equalsIgnoreCase("PaymentRule")) {
292     }
293     return html.toString();
294   }
295
296   public static String JavaDoc getProcessParamsJava(ProcessRelationData[] data, ActionButtonRelationData fd, Vector JavaDoc<Object JavaDoc> vecParams) {
297     if (fd==null) return "";
298     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
299     
300     if (data!=null) {
301       for (int i=0;i<data.length;i++) {
302         html.append("String str" + Sqlc.TransformaNombreColumna(data[i].columnname) + " = vars.getStringParameter(\"inp" + Sqlc.TransformaNombreColumna(data[i].columnname) + "\"");
303         if (data[i].adReferenceId.equals("20")) html.append(", \"N\"");
304         html.append(");\n");
305         html.append("PInstanceProcessData.insertPInstanceParam" + (isNumericType(data[i].adReferenceId)?"Number":(isDateType(data[i].adReferenceId)?"Date":"")) + "(this, pinstance, \"" + data[i].seqno + "\", \"" + data[i].columnname + "\", str" + Sqlc.TransformaNombreColumna(data[i].columnname) + ", vars.getClient(), vars.getOrg(), vars.getUser());\n");
306         vecParams.addElement(Sqlc.TransformaNombreColumna(data[i].columnname));
307       }
308     }
309     return html.toString();
310   }
311
312   public static String JavaDoc getAdditionalCode(ActionButtonRelationData fd, String JavaDoc tabName, String JavaDoc keyName) {
313     if (fd==null) return "";
314     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
315     if (fd.columnname.equalsIgnoreCase("DocAction")) {
316       html.append(tabName + "Data.updateDocAction(this, strdocaction, str" + keyName + ");\n");
317     /*} else if (fd.columnname.equalsIgnoreCase("ChangeProjectStatus")) {
318       html.append(tabName + "Data.updateChangeProjectStatus(this, strchangeprojectstatus, str" + keyName + ");\n");*/

319     } else if (fd.columnname.equalsIgnoreCase("PaymentRule")) {
320     }
321     return html.toString();
322   }
323
324   public static ActionButtonRelationData[] buildActionButtonSQL(ConnectionProvider conn, String JavaDoc strTab) {
325     ActionButtonRelationData[] fab = null;
326     try {
327       fab = ActionButtonRelationData.selectDocAction(conn, strTab);
328     } catch (ServletException JavaDoc e) {
329       return null;
330     }
331     if (fab==null) return null;
332     for (int i=0;i<fab.length;i++) {
333       fab[i].realname = FormatUtilities.replace(fab[i].realname);
334       fab[i].columnname = Sqlc.TransformaNombreColumna(fab[i].columnname);
335     }
336     return fab;
337   }
338
339   public static void buildXml(ConnectionProvider conn, XmlEngine xmlEngine, File fileDir, FieldsData fd, Vector JavaDoc<Object JavaDoc> vecFields, int max_textbox_length) throws ServletException JavaDoc, IOException {
340     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/wad/Configuration_ActionButton").createXmlDocument();
341     xmlDocument.setParameter("class", (fd.columnname + fd.reference) + ".html");
342     ProcessRelationData[] data = ProcessRelationData.selectParameters(conn, "", fd.reference);
343
344     {
345       StringBuffer JavaDoc html = new StringBuffer JavaDoc();
346       if (vecFields!=null) {
347         for (int i=0;i<vecFields.size();i++) {
348           html.append("<PARAMETER id=\"" + vecFields.elementAt(i) + "\" name=\"" + vecFields.elementAt(i) + "\" attribute=\"value\"/>\n");
349         }
350       }
351       xmlDocument.setParameter("additionalFields", html.toString());
352     }
353
354     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
355     if (data!=null) {
356       for (int i=0;i< data.length; i++) {
357         WADControl auxControl = null;
358         try {
359           auxControl = WadUtility.getControl(conn, data[i], false, (fd.columnname + fd.reference), "", xmlEngine, false, false);
360           auxControl.setData("IsParameter", "Y");
361         } catch (Exception JavaDoc ex) {
362           throw new ServletException JavaDoc(ex);
363         }
364         html.append(auxControl.toXml()).append("\n");
365       }
366     }
367
368     xmlDocument.setParameter("column", html.toString());
369     WadUtility.writeFile(fileDir, (fd.columnname + fd.reference) + ".xml", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + xmlDocument.print());
370   }
371
372   public static void buildHtml(ConnectionProvider conn, XmlEngine xmlEngine, File fileDir, FieldsData fd, Vector JavaDoc<Object JavaDoc> vecFields, int max_textbox_length, int max_size_edition_1_columns, String JavaDoc strLanguage, boolean isGeneric, String JavaDoc calendarDescription, String JavaDoc clockDescription, String JavaDoc calculatorDescription, String JavaDoc jsDateFormat) throws ServletException JavaDoc, IOException {
373     String JavaDoc[] discard = {"", "isGeneric", "fieldDiscardProcess"};
374     if (fd.xmltext.equals("")) discard[0] = new String JavaDoc("helpDiscard");
375     if (isGeneric) discard[1] = new String JavaDoc("isNotGeneric");
376     if (fd.isjasper.equals("Y")) discard[2] = new String JavaDoc("fieldDiscardJasper");
377     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/wad/Template_ActionButton", discard).createXmlDocument();
378     ProcessRelationData[] efd = ProcessRelationData.selectParameters(conn, strLanguage, fd.reference);
379     xmlDocument.setParameter("tab", fd.realname);
380     xmlDocument.setParameter("columnname", fd.columnname + fd.reference);
381     xmlDocument.setParameter("processDescription", fd.tablename);
382     xmlDocument.setParameter("processHelp", fd.xmltext);
383     xmlDocument.setParameter("adProcessId", fd.reference);
384
385     {
386       StringBuffer JavaDoc html = new StringBuffer JavaDoc();
387       xmlDocument.setParameter("additionalFields", html.toString());
388     }
389
390     if (efd!=null) {
391       vecFields.addElement(fd.columnname);
392       for (int i=0;i<efd.length;i++) vecFields.addElement(efd[i].columnname);
393
394       Properties JavaDoc importsCSS = new Properties JavaDoc();
395       Properties JavaDoc importsJS = new Properties JavaDoc();
396       Properties JavaDoc javaScriptFunctions = new Properties JavaDoc();
397       StringBuffer JavaDoc validations = new StringBuffer JavaDoc();
398       StringBuffer JavaDoc onload = new StringBuffer JavaDoc();
399       StringBuffer JavaDoc html = new StringBuffer JavaDoc();
400       for (int i=0;i< efd.length; i++) {
401         WADControl auxControl = null;
402         try {
403           auxControl = WadUtility.getControl(conn, efd[i], false, (fd.columnname + fd.reference), strLanguage, xmlEngine, false, false);
404         } catch (Exception JavaDoc ex) {
405           throw new ServletException JavaDoc(ex);
406         }
407         auxControl.setData("IsComboReload", "N");
408
409         html.append("<tr><td class=\"TitleCell\">").append(auxControl.toLabel().replace("\n", "")).append("</td>\n");
410         html.append("<td class=\"").append(auxControl.getType()).append("_ContentCell\"");
411         if (Integer.valueOf(auxControl.getData("DisplayLength")).intValue() > (max_size_edition_1_columns/2)) {
412           html.append(" colspan=\"2\"");
413           auxControl.setData("CssSize", "TwoCells");
414         } else {
415           auxControl.setData("CssSize", "OneCell");
416         }
417         html.append(">");
418         html.append(auxControl.toString());
419         html.append("</td>\n");
420         if (auxControl.getData("CssSize").equals("OneCell")) html.append("<td></td>\n");
421         html.append("<td></td>\n");
422         html.append("</tr>\n");
423         //Getting JavaScript
424
{
425           Vector JavaDoc<String JavaDoc[]> auxJavaScript = auxControl.getJSCode();
426           if (auxJavaScript!=null) {
427             for (int j=0;j<auxJavaScript.size();j++) {
428               String JavaDoc[] auxObj = auxJavaScript.elementAt(j);
429               javaScriptFunctions.setProperty(auxObj[0], auxObj[1]);
430             }
431           }
432         } //End getting JavaScript
433
//Getting css imports
434
{
435           Vector JavaDoc<String JavaDoc[]> auxCss = auxControl.getCSSImport();
436           if (auxCss!=null) {
437             for (int j=0;j<auxCss.size();j++) {
438               String JavaDoc[] auxObj = auxCss.elementAt(j);
439               importsCSS.setProperty(auxObj[0], auxObj[1]);
440             }
441           }
442         } //End getting css imports
443
//Getting js imports
444
{
445           Vector JavaDoc<String JavaDoc[]> auxJs = auxControl.getImport();
446           if (auxJs!=null) {
447             for (int j=0;j<auxJs.size();j++) {
448               String JavaDoc[] auxObj = auxJs.elementAt(j);
449               importsJS.setProperty(auxObj[0], auxObj[1]);
450             }
451           }
452         } //End getting js imports
453
if (!auxControl.getValidation().equals("")) validations.append(auxControl.getValidation()).append("\n");
454         if (!auxControl.getOnLoad().equals("")) onload.append(auxControl.getOnLoad()).append("\n");
455       }
456       xmlDocument.setParameter("fields", html.toString());
457       StringBuffer JavaDoc sbImportCSS = new StringBuffer JavaDoc();
458       for (Enumeration JavaDoc e = importsCSS.propertyNames();e.hasMoreElements();) {
459         String JavaDoc _name = (String JavaDoc)e.nextElement();
460         sbImportCSS.append("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"").append(importsCSS.getProperty(_name)).append("\"/>\n");
461       }
462       xmlDocument.setParameter("importCSS", sbImportCSS.toString());
463       StringBuffer JavaDoc sbImportJS = new StringBuffer JavaDoc();
464       boolean hasCalendar = false;
465       boolean calendarInserted = false;
466       boolean calendarLangInserted = false;
467       for (Enumeration JavaDoc e = importsJS.propertyNames();e.hasMoreElements();) {
468         String JavaDoc _name = (String JavaDoc)e.nextElement();
469         if (_name.startsWith("calendar")) hasCalendar = true;
470         if (!_name.equals("calendarLang") || calendarInserted) {
471           sbImportJS.append("<script language=\"JavaScript\" SRC=\"").append(importsJS.getProperty(_name)).append("\" type=\"text/javascript\"></script>\n");
472           if (_name.equals("calendarLang")) calendarLangInserted = true;
473         }
474         if (_name.equals("calendar")) calendarInserted = true;
475       }
476       if (hasCalendar && !calendarLangInserted) sbImportJS.append("<script language=\"JavaScript\" SRC=\"").append(importsJS.getProperty("calendarLang")).append("\" type=\"text/javascript\"></script>\n");
477       xmlDocument.setParameter("importJS", sbImportJS.toString());
478       StringBuffer JavaDoc script = new StringBuffer JavaDoc();
479       for (Enumeration JavaDoc e = javaScriptFunctions.propertyNames();e.hasMoreElements();) {
480         String JavaDoc _name = (String JavaDoc)e.nextElement();
481         script.append(javaScriptFunctions.getProperty(_name)).append("\n");
482       }
483       script.append("\nfunction depurarClient(action, Formulario, valor) {\n");
484       script.append(" var frm=document.frmMain;\n");
485       script.append(validations);
486       script.append(" return true;\n");
487       script.append("}\n");
488       
489       script.append("\nfunction onloadClient() {\n");
490       script.append(" var frm=document.frmMain;\n");
491       script.append(" var key = frm.inpKey;");
492       script.append(onload);
493       script.append(" return true;\n");
494       script.append("}\n");
495   
496       xmlDocument.setParameter("script", script.toString());
497     }
498     WadUtility.writeFile(fileDir, (fd.columnname + fd.reference) + ".html", xmlDocument.print());
499   }
500
501
502   /*#######################################################################################*/
503   public static void xmlFormatAttribute(ProcessRelationData data) {
504     if (data==null) return;
505     if (WadUtility.isIntegerNumber(data.adReferenceId)) data.xmlFormat = "INTEGER";
506     else if (WadUtility.isDecimalNumber(data.adReferenceId)) data.xmlFormat = "EURO";
507     else if (WadUtility.isQtyNumber(data.adReferenceId)) data.xmlFormat = "QTY";
508     else if (WadUtility.isPriceNumber(data.adReferenceId)) data.xmlFormat = "PRICE";
509   }
510
511   public static String JavaDoc xmlFields(ProcessRelationData fd, String JavaDoc completeName, int maxTextboxLength, boolean forcedAttribute) {
512     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
513     String JavaDoc strSystemSeparator = System.getProperty("file.separator");
514
515     if (forcedAttribute) {
516       html.append("<PARAMETER ");
517       html.append("id=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
518       html.append("name=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
519       html.append("attribute=\"value\"");
520       if (WadUtility.isDecimalNumber(fd.adReferenceId)) html.append(" format=\"euroEdition\"");
521       else if (WadUtility.isQtyNumber(fd.adReferenceId)) html.append(" format=\"qtyEdition\"");
522       else if (WadUtility.isPriceNumber(fd.adReferenceId)) html.append(" format=\"priceEdition\"");
523       else if (WadUtility.isIntegerNumber(fd.adReferenceId)) html.append(" format=\"integerEdition\"");
524       else if (WadUtility.isGeneralNumber(fd.adReferenceId)) html.append(" format=\"generalQtyEdition\"");
525       html.append(">");
526       html.append("</PARAMETER>");
527     } else if (fd.adReferenceId.equals("17") || fd.adReferenceId.equals("18") || fd.adReferenceId.equals("19")) { // List
528
html.append(xmlFields(fd, completeName, maxTextboxLength, true));
529       if (fd.isdisplayed.equals("Y")) {
530         html.append("\n<SUBREPORT id=\"report" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" name=\"report" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\"");
531         html.append(" report=\"org" + strSystemSeparator + "openbravo" + strSystemSeparator + "erpCommon" + strSystemSeparator + "reference" + strSystemSeparator + "List\">\n");
532         html.append(" <ARGUMENT name=\"parameterListSelected\" withId=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\"/>\n");
533         html.append("</SUBREPORT>\n");
534       }
535     } else if (fd.adReferenceId.equals("20") && fd.isdisplayed.equals("Y")) { // YesNo
536
html.append("<PARAMETER ");
537       html.append("id=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
538       html.append("name=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
539       html.append("boolean=\"checked\" withId=\"paramCheck\"");
540       html.append(">");
541       html.append("</PARAMETER>");
542     } else if (fd.adReferenceId.equals("28") && fd.isdisplayed.equals("Y") && !fd.adReferenceValueId.equals("")) { // Button
543
html.append("<PARAMETER ");
544       html.append("id=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
545       html.append("name=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
546       html.append(" attribute=\"value\">");
547       html.append(Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "</PARAMETER>");
548       html.append("<PARAMETER ");
549       html.append("id=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "_BTN\" ");
550       html.append("name=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\">");
551       html.append("</PARAMETER>");
552     } else if ((fd.adReferenceId.equals("34") || fd.adReferenceId.equals("14")) && fd.isdisplayed.equals("Y")) {
553       html.append("<PARAMETER ");
554       html.append("id=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
555       html.append("name=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
556       html.append(">");
557       html.append("</PARAMETER>");
558     } else if (Integer.valueOf(fd.fieldlength).intValue()>maxTextboxLength && fd.isdisplayed.equals("Y")) {
559       html.append("<PARAMETER ");
560       html.append("id=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
561       html.append("name=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
562       if (WadUtility.isDecimalNumber(fd.adReferenceId)) html.append(" format=\"euroEdition\"");
563       else if (WadUtility.isQtyNumber(fd.adReferenceId)) html.append(" format=\"qtyEdition\"");
564       else if (WadUtility.isPriceNumber(fd.adReferenceId)) html.append(" format=\"priceEdition\"");
565       else if (WadUtility.isIntegerNumber(fd.adReferenceId)) html.append(" format=\"integerEdition\"");
566       else if (WadUtility.isGeneralNumber(fd.adReferenceId)) html.append(" format=\"generalQtyEdition\"");
567       html.append(">");
568       html.append("</PARAMETER>");
569     } else {
570       html.append("<PARAMETER ");
571       html.append("id=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
572       html.append("name=\"" + Sqlc.TransformaNombreColumna(fd.columnname) + completeName + "\" ");
573       html.append("attribute=\"value\"");
574       if (WadUtility.isDecimalNumber(fd.adReferenceId)) html.append(" format=\"euroEdition\"");
575       else if (WadUtility.isQtyNumber(fd.adReferenceId)) html.append(" format=\"qtyEdition\"");
576       else if (WadUtility.isPriceNumber(fd.adReferenceId)) html.append(" format=\"priceEdition\"");
577       else if (WadUtility.isIntegerNumber(fd.adReferenceId)) html.append(" format=\"integerEdition\"");
578       else if (WadUtility.isGeneralNumber(fd.adReferenceId)) html.append(" format=\"generalQtyEdition\"");
579       html.append(">");
580       html.append("</PARAMETER>");
581     }
582
583     return html.toString();
584   }
585
586   public static String JavaDoc classRequiredUpdateable(ProcessRelationData efd) {
587     StringBuffer JavaDoc htmltext = new StringBuffer JavaDoc();
588     String JavaDoc strAux="";
589     if (WadUtility.isGeneralNumber(efd.adReferenceId) || WadUtility.isDecimalNumber(efd.adReferenceId) || WadUtility.isQtyNumber(efd.adReferenceId) || WadUtility.isPriceNumber(efd.adReferenceId) || WadUtility.isIntegerNumber(efd.adReferenceId)) {
590       strAux=" number";
591     }
592     String JavaDoc strType = "dojoValidateValid";
593     String JavaDoc classType = "TextBox";
594     if (WadUtility.isSelectType(efd.adReferenceId)) {
595       strType = "Combo";
596       classType = "Combo";
597     }
598     if (efd.required.equals("Y")) htmltext.append(" class=\"").append(strType).append(" required").append(strAux).append(" ").append(classType).append("_OneCell_width\" ");
599     else if (!strAux.equals("")) htmltext.append(" class=\"").append(strType).append(strAux).append(" ").append(classType).append("_OneCell_width\" ");
600
601     return htmltext.toString();
602   }
603
604   public static String JavaDoc htmlFields(ProcessRelationData efd, String JavaDoc completeName, String JavaDoc completeID, boolean isupdateable, int maxTextboxLength, boolean forcedAttribute, boolean isdesigne) {
605     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
606
607     if (forcedAttribute) {
608       html.append("<input type=\"hidden\"");
609       html.append(" name=\"inp" + Sqlc.TransformaNombreColumna(efd.columnname) + completeName);
610       html.append("\" id=\"" + Sqlc.TransformaNombreColumna(efd.columnname) + completeID + "\" value=\"");
611       if (!isdesigne) html.append("xxV");
612       if (WadUtility.isGeneralNumber(efd.adReferenceId) || WadUtility.isDecimalNumber(efd.adReferenceId) || WadUtility.isQtyNumber(efd.adReferenceId) || WadUtility.isPriceNumber(efd.adReferenceId)) html.append("\" onkeydown=\"auto_completar_numero(this, true, true);return true;");
613       else if (WadUtility.isIntegerNumber(efd.adReferenceId)) html.append("\" onkeydown=\"auto_completar_numero(this, false, true);return true;");
614       html.append("\">");
615     } else if ((efd.adReferenceId.equals("17") || efd.adReferenceId.equals("18") || efd.adReferenceId.equals("19")) && efd.isdisplayed.equals("Y")) { // List or Table or TableDir
616
html.append("<select name=\"inp" + Sqlc.TransformaNombreColumna(efd.columnname) + completeName + "\"");
617       html.append(classRequiredUpdateable(efd));
618       html.append(" id=\"report");
619       html.append(efd.columnname + completeID + "_S\"");
620       html.append(">");
621       if (!efd.required.equals("Y")) html.append("<option value=\"\"></option>");
622       html.append("<div id=\"report");
623       html.append(Sqlc.TransformaNombreColumna(efd.columnname) + completeID + "\"></div>");
624       html.append("</select>");
625     } else if ((efd.adReferenceId.equals("34") || efd.adReferenceId.equals("14") || (!efd.adReferenceId.equals("20") && (Integer.valueOf(efd.fieldlength).intValue() > maxTextboxLength))) && efd.isdisplayed.equals("Y")){ //TEXTAREA
626
html.append("<textarea cols=\"" + efd.fieldlength + "\" rows=\"3\" name=\"inp" + Sqlc.TransformaNombreColumna(efd.columnname));
627       html.append(completeName + "\" id=\"" + Sqlc.TransformaNombreColumna(efd.columnname) + completeID + "\" ");
628       html.append(classRequiredUpdateable(efd));
629       html.append(">");
630       if (!isdesigne) html.append("xxV");
631       html.append("</textarea>");
632     } else {
633       html.append("<input type=\"");
634       if (efd.isdisplayed.equals("N")) {
635         html.append("hidden\"");
636       } else if (efd.adReferenceId.equals("20")) { // YesNo
637
html.append("checkbox\"");
638       } else {
639         html.append("text\"");
640         if (WadUtility.isGeneralNumber(efd.adReferenceId) || WadUtility.isDecimalNumber(efd.adReferenceId) || WadUtility.isQtyNumber(efd.adReferenceId) || WadUtility.isPriceNumber(efd.adReferenceId)) html.append(" onkeydown=\"auto_completar_numero(this, true, true);return true;\"");
641         else if (WadUtility.isIntegerNumber(efd.adReferenceId)) html.append(" onkeydown=\"auto_completar_numero(this, false, true);return true;\"");
642         html.append(" size=\"" + efd.fieldlength + "\" ");
643         html.append(classRequiredUpdateable(efd));
644         if (!WadUtility.isSearchType(efd.adReferenceId)) html.append(" maxlength=\"" + efd.fieldlength + "\"");
645       }
646       html.append(" name=\"inp" + Sqlc.TransformaNombreColumna(efd.columnname) + completeName);
647       html.append("\" id=\"" + Sqlc.TransformaNombreColumna(efd.columnname) + completeID + "\" ");
648       html.append("value=\"");
649       if (efd.isdisplayed.equals("N")) {
650         if (!isdesigne) html.append("xxV");
651       } else if (efd.adReferenceId.equals("20")) {
652         html.append("Y");
653       } else {
654         if (!isdesigne) html.append("xxV");
655       }
656       html.append("\"");
657       if (efd.isdisplayed.equals("Y") && isupdateable && WadUtility.isDateField(efd.adReferenceId)) { // Date. Put a calendar
658
html.append(" onkeyup=\"auto_completar_fecha(this);return true;\"");
659       } else if (efd.isdisplayed.equals("Y") && isupdateable && WadUtility.isTimeField(efd.adReferenceId)) { // Time. Put a clock
660
html.append(" onkeyup=\"auto_completar_hora(this, true);return true;\"");
661       }
662       html.append(">");
663     }
664
665     return html.toString();
666   }
667
668   public static String JavaDoc findField(Vector JavaDoc<Object JavaDoc> vecFields, String JavaDoc token) {
669     if (vecFields==null) return "";
670     for (int i=0;i<vecFields.size();i++) {
671       String JavaDoc field = vecFields.elementAt(i).toString();
672       if (field.equalsIgnoreCase(token)) return field;
673     }
674     return "";
675   }
676
677   public static String JavaDoc searchsCommand(ProcessRelationData efd, boolean fromButton, Vector JavaDoc<Object JavaDoc> vecFields, ConnectionProvider conn) {
678     StringBuffer JavaDoc params = new StringBuffer JavaDoc();
679     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
680     String JavaDoc strName = FormatUtilities.replace(efd.searchname.trim());
681     if (!fromButton) {
682       params.append(", 'Command'");
683       params.append(", 'KEY'");
684     }
685     params.append(", 'WindowID'");
686     params.append(", document.frmMain.inpwindowId.value");
687     String JavaDoc searchName = ((efd.reference!=null && efd.reference.equals("31"))?"/info/Locator":"/info/" + strName) + "_FS.html";
688     EditionFieldsData[] fieldsSearch = null;
689     try {
690       if (efd.reference!=null && efd.reference.equals("30") && efd.adReferenceValueId!=null && !efd.adReferenceValueId.equals("")) fieldsSearch = EditionFieldsData.selectSearchs(conn, "I", efd.adReferenceValueId);
691     } catch (ServletException JavaDoc ex) {
692       ex.printStackTrace();
693     }
694     if (fieldsSearch!=null && fieldsSearch.length>0) {
695       searchName = fieldsSearch[0].mappingname;
696       if (!fieldsSearch[0].referencevalue.equals("")) {
697         for (int i=0;i<fieldsSearch.length;i++) {
698           String JavaDoc field=findField(vecFields, fieldsSearch[i].referencevalue);
699           if (!field.equals("")) {
700             params.append(", 'inp").append(fieldsSearch[i].columnnameinp).append("'");
701             params.append(", document.frmMain.inp" + Sqlc.TransformaNombreColumna(field) + ".value");
702           }
703         }
704       }
705     } else {
706       if (efd.name.equalsIgnoreCase("PRODUCT")) {
707         String JavaDoc field=findField(vecFields, "m_pricelist_id");
708         if (!field.equals("")) {
709           params.append(", 'inpPriceList'");
710           params.append(", document.frmMain.inp" + Sqlc.TransformaNombreColumna(field) + ".value");
711         }
712         field=findField(vecFields, "m_warehouse_id");
713         if (!field.equals("")) {
714           params.append(", 'inpWarehouse'");
715           params.append(", document.frmMain.inp" + Sqlc.TransformaNombreColumna(field) + ".value");
716         }
717         field=findField(vecFields, "dateordered");
718         if (!field.equals("")) {
719           params.append(", 'inpDate'");
720           params.append(", document.frmMain.inp" + Sqlc.TransformaNombreColumna(field) + ".value");
721         }
722       }
723     }
724     html.append("openSearch(null, null, '..").append(searchName).append("', null, false, 'frmMain', 'inp").append(Sqlc.TransformaNombreColumna(efd.columnname)).append("', 'inp").append(Sqlc.TransformaNombreColumna(efd.columnname)).append("_R', document.frmMain.inp").append(Sqlc.TransformaNombreColumna(efd.columnname)).append("_R.value").append(params.toString()).append(");");
725     return html.toString();
726   }
727
728   public static String JavaDoc searchs(ProcessRelationData efd, int maxTextboxLength, Vector JavaDoc<Object JavaDoc> vecFields, ConnectionProvider conn) {
729     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
730     String JavaDoc strName = FormatUtilities.replace(efd.searchname.trim());
731     if (efd.adReferenceId.equals("31")) {
732       strName = "Locator";
733     } else if (efd.name.toUpperCase().indexOf("BUSINESS")!=-1) {
734       html.append(htmlFields(efd, "_LOC", "_LOC", true, maxTextboxLength, true, true));
735       html.append(htmlFields(efd, "_CON", "_CON", true, maxTextboxLength, true, true));
736     } else if (efd.name.equalsIgnoreCase("PRODUCT")) {
737       html.append(htmlFields(efd, "_PLIST", "_PLIST", true, maxTextboxLength, true, true));
738       html.append(htmlFields(efd, "_PSTD", "_PSTD", true, maxTextboxLength, true, true));
739       html.append(htmlFields(efd, "_UOM", "_UOM", true, maxTextboxLength, true, true));
740       html.append(htmlFields(efd, "_PLIM", "_PLIM", true, maxTextboxLength, true, true));
741       html.append(htmlFields(efd, "_CURR", "_CURR", true, maxTextboxLength, true, true));
742     }
743     html.append("<a HREF=\"#\"");
744     html.append("onClick=\"" + searchsCommand(efd, true, vecFields, conn) + "return false;\" ");
745     html.append("onMouseOut=\"window.status='';return true;\"");
746     html.append("onMouseOver=\"window.status='").append(efd.referenceName).append("';return true;\" class=\"windowbutton\"><img width=\"").append(IMAGE_EDITION_WIDTH).append("\" height=\"").append(IMAGE_EDITION_HEIGHT).append("\" alt=\"").append(efd.name).append("\" title=\"").append(efd.name).append("\"");
747     html.append(" border=\"0\" SRC=\"../../../../../web/images/" + strName + ".jpg\" id=\"button" + strName + "\"></a>");
748     return html.toString();
749   }
750
751   public static String JavaDoc productSearch(ProcessRelationData efd, int maxTextboxLength, Vector JavaDoc<Object JavaDoc> vecFields, ConnectionProvider conn) {
752     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
753     efd.searchname = "Product Complete";
754     html.append(htmlFields(efd, "_LOC", "_LOC", true, maxTextboxLength, true, true));
755     html.append(htmlFields(efd, "_ATR", "_ATR", true, maxTextboxLength, true, true));
756     html.append(htmlFields(efd, "_PQTY", "_PQTY", true, maxTextboxLength, true, true));
757     html.append(htmlFields(efd, "_PUOM", "_PUOM", true, maxTextboxLength, true, true));
758     html.append(htmlFields(efd, "_QTY", "_QTY", true, maxTextboxLength, true, true));
759     html.append(htmlFields(efd, "_UOM", "_UOM", true, maxTextboxLength, true, true));
760
761     html.append("<a HREF=\"#\"");
762     html.append("onClick=\"" + searchsCommand(efd, true, vecFields, conn) + "return false;\" ");
763     html.append("onMouseOut=\"window.status='';return true;\"");
764     html.append("onMouseOver=\"window.status='").append(efd.referenceName).append("';return true;\" class=\"windowbutton\"><img width=\"").append(IMAGE_EDITION_WIDTH).append("\" height=\"").append(IMAGE_EDITION_HEIGHT).append("\" alt=\"").append(efd.name).append("\" title=\"").append(efd.name).append("\"");
765     html.append(" border=\"0\" SRC=\"../../../../../web/images/" + FormatUtilities.replace(efd.searchname.trim()) + ".jpg\" id=\"button" + FormatUtilities.replace(efd.searchname.trim()) + "\"></a>");
766     return html.toString();
767   }
768 }
769
Popular Tags