home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 May / CMCD0505.ISO / Software / Shareware / Programare / bugzero / jsp / query.jsp < prev    next >
Encoding:
Text File  |  2005-02-02  |  9.1 KB  |  251 lines

  1. <%@ page 
  2.     import="com.websina.bean.*,com.websina.util.*,com.websina.util.log.Log"
  3. %>
  4. <html>
  5. <head>
  6. <title>Find and Search</title>
  7. </head>
  8. <body topmargin=0>
  9. <%@ include file="_header.jspf" %>
  10. <%      
  11.   String parent = "query.jsp";
  12.   com.websina.bean.Filter filter = null;
  13.   String baseUrl = contextPath+"/servlet/query";
  14.   String projectId = person.getProject();
  15.   Project conf = Project.getInstance(projectId);
  16.  
  17.   String[] optionList;
  18.   com.websina.bean.Query query = null;
  19.   String queryName = request.getParameter("query_name");
  20.   if (queryName == null) {
  21.     // used only to get the default show columns etc.
  22.     query = person.getQuery();
  23.     if (!query.isLoaded()) {
  24.       query.loadFilter();
  25.     }
  26.     query.setSortOrder(null);
  27.   } else {
  28.     query = new com.websina.bean.Query(person, queryName);
  29.     query.loadFilter();
  30.     filter = query.getFilter();
  31.   }
  32. %>
  33. <center>
  34. <% String msg = request.getParameter("msg");
  35.    if (msg != null) { %>
  36. <font color="red"><b><%=msg%></b></font>
  37. <% } %>
  38.  
  39. <table cellspacing=0 cellpadding=0 border=0>
  40. <tr><td height=36>
  41. <b><%=label.get("query", projectId)%></b>
  42. </td></tr>
  43. <tr><td>
  44. <form name="stored_query" method="post" action="<%=baseUrl%>" <%=acceptCharset%>>
  45. <input type="hidden" name="action">
  46. <table cellspacing=0 cellpadding=2 border=0 width=100% class="box">
  47. <tr class="header"><td colspan=3>
  48. <%=label.get("choose_query")%>
  49. </td></tr>
  50. <tr>
  51. <td height=32><select name="query_name">
  52. <% if (person.getStoredQuery() != null) { %>
  53.        <%=ListMaker.makeOptionList(person.getStoredQuery().getValue(), queryName)%>
  54. <% } %>
  55.     </select>
  56. </td>
  57. <td align=center>
  58. <input class="button" type="button" value="<%=label.get("submit_button")%>" 
  59.      title="<%=label.get("stored_query")%>"
  60.      onClick="if(stored_query.query_name.selectedIndex>-1) {do_query(stored_query, 'submit_stored_query'); return false;}">
  61.  <input class="button" type="button" value="<%=label.get("remove_button")%>" 
  62.      title="<%=label.get("stored_query")%>"
  63.      onClick="if(stored_query.query_name.selectedIndex>-1) {
  64.               if (confirm('\''+stored_query.query_name.options[stored_query.query_name.selectedIndex].value+'\' will be removed!')) {
  65.               do_query(stored_query, 'remove_stored_query'); return false;}}">
  66.      </td><td>
  67.     <input class="button" type="button" value="<%=label.get("edit_button")%>" 
  68.      title="<%=label.get("stored_query")%>"
  69.      onClick="if(stored_query.query_name.selectedIndex>-1) {
  70.      location.href='query.jsp?query_name='+<%=escape%>(stored_query.query_name.options[stored_query.query_name.selectedIndex].value); return false;}">
  71. </td></tr>
  72. </table>
  73. </form>
  74. </td></tr>
  75. <tr><td> </td></tr>
  76. <tr><td height=30>
  77. <%=label.get("define_query")%>
  78. </td></tr>
  79. <tr><td>
  80. <form name="query_form" method="post" action="<%=baseUrl%>" <%=acceptCharset%>
  81.   onSubmit="if(!validDatetimeList(query_form.arrived_date.value)) return false;
  82.             if(!validDatetimeList(query_form.last_modified.value)) return false;
  83.             if(!validDatetimeList(query_form.closed_date.value)) return false;
  84.             <%=onClick(conf, person, "query_form")%>">
  85.  
  86.   <input type="hidden" name="action" value="advanced_query">
  87. <% if (queryName != null) { %>
  88.   <input type="hidden" name="query_name" value="<%=queryName%>">
  89. <% } %>
  90. <table cellspacing=1 cellpadding=2 border=0 width=100% class="box">
  91. <tr><td colspan=2 align=center>
  92.     <input class="button" type=submit value="<%=label.get("submit_button")%>"
  93.      title="<%=label.get("query_form")%>"> 
  94.  <input class="button" type=reset value="<%=label.get("clear_button")%>"
  95.      title="<%=label.get("query_form")%>"> 
  96.     </td></tr>
  97.  
  98. <%--/// display fields (show columns) ///--%>
  99. <tr>
  100.     <td class="e8" valign=top><%=label.get("show_columns")%></td>
  101.     <td class="f1">
  102.         <table cellspacing=0 cellpadding=0 border=0><tr><td>
  103.         <select name="show_columns" size=7 multiple style="width: 355px;">
  104.         <%=ListMaker.makeOptionList(label, projectId, conf.columnFields(person.getGroup()), query.getShowColumns()) %>
  105.         </select></td><td> </td><td>
  106.         <input type="button" class="button" value=" Up " onClick="Up(query_form.show_columns)">
  107.         <p><input type="button" class="button" value=" Dn " onClick="Down(query_form.show_columns)">
  108.         </td></tr></table></td></tr>
  109. <tr>
  110.     <td class="e8"><%=label.get("sort_order_label")%></td>
  111.     <td class="f1"><select name="sort_column" style="width: 294px;"> 
  112.         <%=ListMaker.makeOptionList(label, projectId, conf.sortFields(person.getGroup()), query.getSortColumn()) %>
  113.         </select>
  114.         <select name="sort_order"> 
  115.         <%=sortOrder(query.getSortOrder())%>
  116.         </select></td></tr>
  117. <tr>
  118.     <td class="e8"><%=label.get("show_numbers")%></td>
  119.     <td class="f1"><input type="text" name="show_numbers" size=2 maxlength=4 value="<%=query.getShowNumbers()%>">
  120.     </td></tr>
  121.  
  122. <% if (conf.isFieldEnabled("ignore_closed", person.getGroup()) ) { 
  123.      String checked = "";
  124.      if (query.ignoreClosed()) {
  125.        checked = "checked";
  126.      }
  127. %>
  128. <tr>
  129.     <td class="e8"><%=label.get("ignore_closed")%></td>
  130.     <td class="f1"><input type="checkbox" name="ignore_closed" value="closed" <%=checked%>>
  131.     </td></tr>
  132. <% } else { %>
  133.   <input type="hidden" name="ignore_closed" value="closed">
  134. <% } %>
  135.  
  136. <%-- search by date --%>
  137.   <tr><td colspan=2> </td></tr>
  138.   <tr>
  139.     <td class="e8"><%=label.get("arrived_date")%>
  140.     <font color=red>¹</font></td>
  141.     <td class="f1"><nobr>
  142.     <select name=arrived_date_dateOp style="width: 66px;">
  143.         <%=dateOp()%></select>
  144.     <input size=14 name=arrived_date>
  145.       ||  
  146.     <select name=arrived_date_ageOp style="width: 86px;">
  147.         <%=ageOp()%></select>
  148.     <input size=2 maxlength=4 name=arrived_date_age>
  149.     <select name=arrived_date_ageUnit>
  150.         <%=ListMaker.makeOptionList(label, ageUnit(), null)%></select>
  151.     </nobr>
  152.   </td></tr>
  153.   <tr>
  154.     <td class="e8"><%=label.get("last_modified")%>
  155.     <font color=red>¹</font></td>
  156.     <td class="f1"><nobr>
  157.     <select name=last_modified_dateOp style="width: 66px;">
  158.         <%=dateOp()%></select>
  159.     <input size=14 name=last_modified>
  160.       ||  
  161.     <select name=last_modified_ageOp style="width: 86px;">
  162.         <%=ageOp()%></select>
  163.     <input size=2  maxlength=4 name=last_modified_age>
  164.     <select name=last_modified_ageUnit>
  165.         <%=ListMaker.makeOptionList(label, ageUnit(), null)%></select>
  166.     </nobr>
  167.     </td></tr>
  168.   <tr>
  169.     <td class="e8"><%=label.get("closed_date")%>
  170.     <font color=red>¹</font></td>
  171.     <td class="f1"><nobr>
  172.     <select name=closed_date_dateOp style="width: 66px;">
  173.         <%=dateOp()%></select>
  174.     <input size=14 name=closed_date>
  175.       ||  
  176.     <select name=closed_date_ageOp style="width: 86px;">
  177.         <%=ageOp()%></select>
  178.     <input size=2  maxlength=4 name=closed_date_age>
  179.     <select name=closed_date_ageUnit>
  180.         <%=ListMaker.makeOptionList(label, ageUnit(), null)%></select>
  181.     </nobr>
  182.     </td></tr>
  183.  
  184. <%-- search by date on a given state --%>
  185. <!--
  186.   <tr><td colspan=2> </td></tr>
  187.   <tr>
  188.     <td class="cf"><%=label.get("state_date")%>
  189.     <font color=red>¹</font></td>
  190.     <td class="cf"><nobr>
  191.     <select name=state_date_dateOp style="width: 66px;">
  192.         <%=dateOp()%></select>
  193.     <input size=14 name=state_date>
  194.       ||  
  195.     <select name=state_date_ageOp style="width: 86px;">
  196.         <%=ageOp()%></select>
  197.     <input size=2  maxlength=4 name=state_date_age>
  198.     <select name=state_date_ageUnit>
  199.         <%=ListMaker.makeOptionList(label, ageUnit(), null)%></select>
  200.     </nobr>
  201.     </td></tr>
  202.     <tr><td class="cf">
  203.     <%=label.get("of_state", projectId)%></td>
  204.     <td class="cf"><select name="of_state" style="width: 400px;">
  205.         <%=ListMaker.makeOptionList(conf.getField("state"), null) %>
  206.         </select> </td></tr>
  207. -->
  208.  
  209. <%@ include file="_queryform.jspf" %>
  210.  
  211.   <tr><td colspan=2 align=center>
  212.     <input class="button" type=submit value="<%=label.get("submit_button")%>"
  213.      title="<%=label.get("query_form")%>">  
  214.  <input class="button" type=reset value="<%=label.get("clear_button")%>"
  215.      title="<%=label.get("query_form")%>"> 
  216.   </td></tr>
  217. </table>
  218. </form>
  219. </td></tr>
  220. <tr><td>
  221. <table cellspacing=2 cellpadding=2 border=0 width=520>
  222. <tr><td>
  223.     <font color=red>*</font>
  224.     A query can be saved only on the query result page, you need submit the query first and then save. 
  225.     </td></tr>
  226. <tr><td> </td></tr>
  227. <tr><td>
  228.     <font color=red>¹</font>
  229.     Use either actual date or relative days (number).
  230.     Format date as <tt>mm/dd/yyyy</tt> or <tt>yyyy-mm-dd h24:MI:ss</tt>. 
  231.     If you use 'between' for the date, please separate the start and the end dates
  232.     with a comma (,). </td></tr>
  233. <tr><td>
  234.     <font color=red>²</font>
  235.     You can use <tt>AND (&, +)</tt> and <tt>OR (|)</tt> between words in text fields.
  236.     A comma or space is treated as <tt>OR</tt>.</td></tr>
  237. <tr><td>
  238.     <font color=red>³</font>
  239.     You can use <tt>&& (AND)</tt> or <tt>|| (OR)</tt>
  240.     among <tt><%=label.get("responsible", projectId)%></tt>, 
  241.     <tt><%=label.get("author", projectId)%></tt>, and fields of User type.
  242.     </td></tr>
  243. </table>
  244.  
  245. </td></tr>
  246. </table>
  247.  
  248. </center>
  249.  
  250. </body></html>
  251.