DirectoryPopup.jsp
From AgileApps Support Wiki
<%-- Directory Search Demo --%> <% String object_id = request.getParameter("object_id"); String keyword = request.getParameter("keyword"); if (keyword == null) keyword = ""; String target_field = request.getParameter("target_field"); String target_name_field = request.getParameter("target_name_field"); java.util.HashMap params = new java.util.HashMap(); String searchType = null; String searchString = null; String message = null; String offset_current = "0"; if(controllerResponse != null){ params = (java.util.HashMap)controllerResponse.getData(); message = controllerResponse == null? "" : controllerResponse.getMessage(); } else { %> <script> window.location.href= "/networking/controller/com/platform/demo/samples/DirectoryPopupController?action=search&object_id=<%= object_id %>&keyword=<%=keyword%>&target_field=<%=target_field%>&target_name_field=<%=target_name_field%>"; </script> <% } if(params != null) { searchType = params.get("searchType") == null ? "" : (String) params.get("searchType"); searchString = params.get("keyword") == null ? "" : (String) params.get("keyword"); offset_current = params.get("offset") == null ? "0" : (String) params.get("offset"); } int offset_previous = Integer.parseInt(offset_current) - 1; if(offset_previous < 0) offset_previous = 0; int offset_next = Integer.parseInt(offset_current) + 1; %> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Directory Search Demo</title> <style type="text/css"> .body1 { background-color: #DCDEEE; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 24px; color: #336699; } .td1 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #333333; } .a1 { color: #3366CC; text-decoration: none; } .form1 { background-color: #CCCC99; padding: 6px; } .title1 { font-family: Arial, Helvetica, sans-serif; font-size: 24px; background-color: #006666; color: #DCDCDC; padding: 10px; } .header1 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: #006666; color: #DCDCDC; font-weight: bold; } </style> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="33%" class="title1">Employee Directory</td> <td width="33%" class="title1"> </td> <td width="33%" align="right" valign="middle" class="title1"> <table width="30%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="td1"> <form name="mainForm" action="/networking/controller/com/platform/demo/samples/DirectoryPopupController" method="POST" class="form1"> <input type="hidden" name="action" value="search" /> <table> <tr> <td> </td> <td> </td> <td>Search</td> <td> <select name="searchType"> <option value="first_name">First Name</option> <option value="name1">Last Name</option> <option value="address">Address</option> <option value="city">City</option> <option value="state">State</option> <option value="zip">Zip</option> <option value="direct_phone">Direct Phone</option> <option value="email">Email</option> </select> </td> <td> for </td> <td><input type="text" name="keyword" value="<%=keyword%>" /> <input type="hidden" name="offset" value="<%=offset_current%>" /> <input type="hidden" name="target_field" value="<%=target_field%>" /> <input type="hidden" name="object_id" value="<%=object_id%>" /> <input type="hidden" name="target_name_field" value="<%=target_name_field%>" /> </td> <td><input type="Submit" name="Go" value="Go"></td> </tr> </table> </form> </td> </tr> </table></td> </tr> <tr> <td class="td1"> </td> <td class="td1"> </td> </tr> <tr> <td class="td1"></td> <td align="right" class="td1"> </td> </tr> <tr> <td class="td1"> </td> <td class="td1"> </td> </tr> <% Result result = null; if(params != null) result = (Result)params.get("opResult"); if(result != null) { %> <tr> <td colspan="3" class="td1"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><font color="red"><%=message%></font></td> <td align="right"><a href="/networking/controller/com/platform/demo/samples/DirectoryPopupController?action=search&object_id=<%= object_id %>&offset=<%=offset_previous%>&keyword=<%=keyword%>&target_field=<%=target_field%>&target_name_field=<%=target_name_field%>">Previous</a> <a href="/networking/controller/com/platform/demo/samples/DirectoryPopupController?action=search&object_id=<%= object_id %>&offset=<%=offset_next%>&keyword=<%=keyword%>&target_field=<%=target_field%>&target_name_field=<%=target_name_field%>">Next</a></td> </tr> <tr> <td> </td> <td> </td> </tr> </table></td> </tr> <tr> <td colspan="3" class="td1"><table width="100%" border="0" cellspacing="1" cellpadding="5"> <tr> <td align="left" nowrap="nowrap" class="header1"> </td> <td align="left" nowrap="nowrap" class="header1">First Name</td> <td align="left" nowrap="nowrap" class="header1">Last Name</td> <td align="left" nowrap="nowrap" class="header1">Email</td> <td align="left" nowrap="nowrap" class="header1">Direct Phone </td> <td align="left" nowrap="nowrap" class="header1">Address</td> <td align="left" nowrap="nowrap" class="header1">City</td> <td align="left" nowrap="nowrap" class="header1">State</td> <td align="left" nowrap="nowrap" class="header1">Zip</td> </tr> <% int searchCode = result.getCode(); if(searchCode == 0) { %> <tr> <td colspan="8">No records found</td> </tr> <% } else if(searchCode > 0) { ParametersIterator iter = result.getIterator(); while(iter.hasNext()) { Parameters row = iter.next(); String first_name = row.get("first_name"); String last_name = row.get("name1"); if(first_name == null) first_name= ""; if(last_name == null) last_name= ""; String name_value = first_name + " - " + last_name; %> <tr> <td align="left" bgcolor="#FFFFFF"><a href="javascript:select('<%=name_value%>','<%=row.get("record_id")%>');"> Select </a> </td> <td align="left" nowrap="nowrap" bgcolor="#FFFFFF"><%=row.get("first_name")%></td> <td align="left" nowrap="nowrap" bgcolor="#FFFFFF"><%=row.get("name1")%></td> <td align="left" bgcolor="#FFFFFF"><a href="mailto:<%=row.get("email")%>"><%=row.get("email")%></a></td> <td align="left" nowrap="nowrap" bgcolor="#FFFFFF"><%=row.get("direct_phone")%></td> <td align="left" nowrap="nowrap" bgcolor="#FFFFFF"><%=row.get("address")%></td> <td align="left" nowrap="nowrap" bgcolor="#FFFFFF"><%=row.get("city")%></td> <td align="left" bgcolor="#FFFFFF"><%=row.get("state")%></td> <td align="left" bgcolor="#FFFFFF"><%=row.get("zip")%></td> </tr> <% } } %> </table></td> </tr> <% } %> </table> </body> </html> <script> // Use <tt>target_field</tt> and <tt>target_name_field</tt> // paramters value to populate the Lookup Window, // based on lookup fields: function select(name,id) { if (window.opener.document.mainForm.<%=target_field%>) window.opener.document.mainForm.<%=target_field%>.value = id; if (window.opener.document.mainForm.<%=target_name_field%>) window.opener.document.mainForm.<%=target_name_field%>.value = name; //Here we close the popup window window.close(); } </script>