1 14 package org.compiere.www; 15 16 import javax.servlet.*; 17 import javax.servlet.http.*; 18 import java.io.*; 19 import java.util.*; 20 import org.apache.ecs.*; 21 22 import org.apache.ecs.*; 23 import org.apache.ecs.xhtml.*; 24 25 import org.compiere.util.*; 26 import org.compiere.model.*; 27 28 45 public class WAccount extends HttpServlet 46 { 47 53 public void init(ServletConfig config) throws ServletException 54 { 55 super.init(config); 56 if (!WEnv.initWeb(config)) 57 throw new ServletException("WAccount.init"); 58 } 60 69 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 70 { 71 Log.trace(Log.l3_Util, "WAccount.doGet"); 72 HttpSession sess = request.getSession(false); 73 WWindowStatus ws = null; 74 if (sess != null) 75 ws = (WWindowStatus)sess.getAttribute(WEnv.SA_WINDOW); 76 if (ws == null) 77 { 78 WUtil.createTimeoutPage(request, response, this, null, null); 79 return; 80 } 81 String formName = request.getParameter("FormName"); 83 String columnName = request.getParameter("ColumnName"); 84 MField mField = ws.curTab.getField(columnName); 86 Log.trace(Log.l4_Data, "FormName=" + formName, "ColumnName=" + columnName + ", MField=" + mField.toString()); 87 if (mField == null || formName == null || columnName == null || formName.equals("") || columnName.equals("")) 88 { 89 WUtil.createTimeoutPage(request, response, this, ws.ctx, Msg.getMsg(ws.ctx, "ParameterMissing")); 90 return; 91 } 92 String target = "opener.document." + formName + "." + columnName; 94 95 WDoc doc = WDoc.create (mField.getHeader()); 97 body body = doc.getBody(); 98 body.setOnBlur("self.focus();"); 99 body.addElement(fillTable(ws, mField, target)); 100 101 button reset = new button(); 103 reset.addElement("Reset"); reset.setOnClick(target + ".value='';" + target + "_D.value='';window.close();"); 105 button cancel = new button(); 106 cancel.addElement("Cancel"); cancel.setOnClick("window.close();"); 108 body.addElement(new p(AlignType.right) 109 .addElement(reset) 110 .addElement(" ") 111 .addElement(cancel)); 112 WUtil.createResponse (request, response, this, null, doc, false); 115 } 117 118 125 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 126 { 127 Log.trace(Log.l3_Util, "WAccount.doPost"); 128 doGet(request, response); 129 } 131 132 133 134 142 private table fillTable (WWindowStatus ws, MField mField, String target) 143 { 144 table table = new table("1"); 145 tr line = new tr(); 146 line.addElement(new th(" ")).addElement(new th(Msg.translate(ws.ctx, "Name"))); 147 table.addElement(line); 148 149 Lookup lookup = mField.getLookup(); 151 lookup.fillComboBox(mField.isMandatory(false), true, true, true); int size = lookup.getSize(); 153 for (int i = 0; i < size; i++) 154 { 155 Object lValue = lookup.getElementAt(i); 156 if (!(lValue != null && lValue instanceof KeyNamePair)) 157 continue; 158 KeyNamePair np = (KeyNamePair)lValue; 161 button button = new button(); 162 button.addElement(">"); 163 StringBuffer script = new StringBuffer (target); 164 script.append(".value='").append(np.getKey()).append("';") 165 .append(target).append("_D.value='").append(np.getName()).append("';window.close();"); 166 button.setOnClick(script.toString()); 167 line = new tr(); 169 line.addElement(new td(button)); 170 String name = np.getName(); 171 if (name == null || name.length() == 0) 172 name = " "; 173 line.addElement(new td(name)); 174 table.addElement(line); 175 } 176 lookup.fillComboBox(true); 178 return table; 179 } 181 } | Popular Tags |