Salome HOME
Refactoring: kernel and som are moved to Siman-Common.
[tools/siman.git] / Workspace / Siman / WebContent / study / searchStudy.jsp
index faf479624ef49902a93d41b7b0a39e2b6f73a940..62285d5d99e4bce74b042c5e21955a8ca7e2531f 100644 (file)
@@ -3,6 +3,10 @@
 %>
 <%@ page import="org.splat.som.Study"%>
 <%@ page import="org.splat.som.ApplicationRights"%>
+<%@ page import="org.splat.simer.ApplicationSettings"%>
+<%@ page import="java.util.ResourceBundle"%>
+<%@ page import="java.util.Calendar"%>
+<%@ page import="java.text.SimpleDateFormat"%>
 <%@
     taglib prefix="s" uri="/struts-tags"
 %>
   -->
 <%  String  action = request.getParameter("action");
 
-    ApplicationRights user      = (ApplicationRights)session.getAttribute("user.rights");
+    ApplicationRights rights    = (ApplicationRights)session.getAttribute("user.rights");
+    ResourceBundle    locale    = ResourceBundle.getBundle("som", ApplicationSettings.getCurrentLocale());
+    String            format    = locale.getString("date.format");
+    SimpleDateFormat  tostring  = new SimpleDateFormat(format);
     String            result    = "uptodate";
-    boolean           anonymous = true;
+    boolean           connected = false;
 
-    if (user.canCreateStudy())                         anonymous = false;
+    if (rights.getUser() != null)                      connected = true;
     if (session.getAttribute("search.result") == null) result    = "obsolete";
 %>
 <s:set var="todo"><%=action%></s:set>
+<s:set var="user"><%=connected%></s:set>
+<s:set var="format"><%=format%></s:set>
+<s:set var="today"><%=tostring.format(java.util.Calendar.getInstance().getTime())%></s:set>
 <html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <!-- Search criteria section
      =============================================================================================================================
   -->
-      <div id="tab-bar">
-        <jsp:include page="/jsp/searchtabs.jsp"/>
-      </div>
       <div id=article-box>
-        <div id="top-spacer"></div>
+        <div id=section><s:text name="title.criteria"/></div>
         <div id="article-body">
           <form name="search" action="refresh-study" method="post">
           <input type=hidden name="contextIndex" />
-          <s:set var="valid"><s:text name="button.result"/></s:set>
+          <s:set var="match1" value="criteriaMatch"/>
+          <s:set var="match2" value="contextMatch"/>
+          <s:set var="him"    value="author"/>
 
           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
             <tr height=20>
-              <td width=40%>&nbsp;&nbsp;<s:text name="field.among"/></td>
-              <td width=60%>&nbsp;&nbsp;<s:text name="field.context"/></td>
-            </tr>
-            <tr height=1 bgcolor=#AAAAAA><td colspan=3></td></tr>
-            <tr valign=top>
-              <td>
-              <div id="article-item">
-                <s:if test="owner == 'all'">
-                  <input type=radio name="owner" value="all" checked onClick="unsetReference()"><s:text name="criterion.study.all"/>
+              <td width=40%>
+                <b><s:text name="field.among"/></b>&nbsp;&nbsp;&nbsp;
+                <s:if test="%{#match1 == 'all'}">
+                <input type=radio name="criteriaMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
+                &nbsp;
+                <input type=radio name="criteriaMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
                 </s:if><s:else>
-                  <input type=radio name="owner" value="all"         onClick="unsetReference()"><s:text name="criterion.study.all"/>
+                <input type=radio name="criteriaMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
+                &nbsp;
+                <input type=radio name="criteriaMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
                 </s:else>
-                <select name="state" style="width: <s:text name="size.study.state"/>" onChange="changeFilter()">
-                  <option value="0"><s:text name="menu.select" /></option>
-                  <s:if test="area == 'reference'">
-                    <s:if test="state == 'ARCHIVED'">  <option value="ARCHIVED"   selected><s:text name="criterion.archived" /></option></s:if>
-                    <s:else>                           <option value="ARCHIVED"           ><s:text name="criterion.archived" /></option></s:else>
-                    <s:if test="state == 'TEMPLATE'">  <option value="TEMPLATE"   selected><s:text name="criterion.template" /></option></s:if>
-                    <s:else>                           <option value="TEMPLATE"           ><s:text name="criterion.template" /></option></s:else>
-                  </s:if><s:else>
-                    <s:if test="state == 'inPROGRESS'"><option value="inPROGRESS" selected><s:text name="criterion.inprogress" /></option></s:if>
-                    <s:else>                           <option value="inPROGRESS"         ><s:text name="criterion.inprogress" /></option></s:else>
-                    <s:if test="state == 'inDRAFT'">   <option value="inDRAFT"    selected><s:text name="criterion.indraft" /></option></s:if>
-                    <s:else>                           <option value="inDRAFT"            ><s:text name="criterion.indraft" /></option></s:else>
-                    <s:if test="state == 'inCHECK'">   <option value="inCHECK"    selected><s:text name="criterion.incheck" /></option></s:if>
-                    <s:else>                           <option value="inCHECK"            ><s:text name="criterion.incheck" /></option></s:else>
-                    <s:if test="state == 'APPROVED'">  <option value="APPROVED"   selected><s:text name="criterion.approved" /></option></s:if>
-                    <s:else>                           <option value="APPROVED"           ><s:text name="criterion.approved" /></option></s:else>
-                  </s:else>
-                </select>
-              </div>
-              <div id="article-item">
-                <s:if test="owner == 'his'">
-                  <input type=radio name="owner" value="his" checked onClick="unsetReference()"><s:text name="criterion.study.his"/>
+              </td>
+              <td width=60%>|&nbsp;&nbsp;
+                <b><s:text name="field.context"/></b>&nbsp;&nbsp;&nbsp;
+                <s:if test="%{#match2 == 'all'}">
+                <input type=radio name="contextMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
+                &nbsp;
+                <input type=radio name="contextMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
                 </s:if><s:else>
-                  <input type=radio name="owner" value="his"         onClick="unsetReference()"><s:text name="criterion.study.his"/>
+                <input type=radio name="contextMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
+                &nbsp;
+                <input type=radio name="contextMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
                 </s:else>
-                <s:set var="him" value="author"/>
-                <select name="author" style="width: <s:text name="size.study.author"/>" onChange="changeFilter()">
-                  <option value="0"><s:text name="menu.select" /></option>
+              </td>
+            </tr>
+            <tr height=1 bgcolor=#AAAAAA><td colspan=2></td></tr>
+          </table>
+
+          <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
+            <tr valign=top>
+              <td width=40%>
+              <table cellpadding=0 cellspacing=0 border=0 class=text>
+                <tr>
+                  <td colspan=2><s:text name="criterion.study"/>&nbsp;</td>
+                  <td colspan=3 align=center>
+                  <select name="state" style="width: <s:text name="size.search.select"/>" onChange="setState()">
+                    <s:if test="state == 'ANY'">       <option value="ANY"        selected><s:text name="criterion.any" /></option></s:if>
+                    <s:else>                           <option value="ANY"                ><s:text name="criterion.any" /></option></s:else>
+                    <s:if test="#user">
+                      <s:if test="state == 'inWORK'">  <option value="inWORK"     selected><s:text name="criterion.inwork" /></option></s:if>
+                      <s:else>                         <option value="inWORK"             ><s:text name="criterion.inwork" /></option></s:else>
+                      <s:if test="state == 'inDRAFT'"> <option value="inDRAFT"    selected><s:text name="criterion.indraft" /></option></s:if>
+                      <s:else>                         <option value="inDRAFT"            ><s:text name="criterion.indraft" /></option></s:else>
+                      <s:if test="state == 'inCHECK'"> <option value="inCHECK"    selected><s:text name="criterion.incheck" /></option></s:if>
+                      <s:else>                         <option value="inCHECK"            ><s:text name="criterion.incheck" /></option></s:else>
+                    </s:if>
+                    <s:if test="state == 'APPROVED'">  <option value="APPROVED"   selected><s:text name="criterion.approved" /></option></s:if>
+                    <s:else>                           <option value="APPROVED"           ><s:text name="criterion.approved" /></option></s:else>
+                    <s:if test="state == 'TEMPLATE'">  <option value="TEMPLATE"   selected><s:text name="criterion.template" /></option></s:if>
+                    <s:else>                           <option value="TEMPLATE"           ><s:text name="criterion.template" /></option></s:else>
+                  </select>
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan=5 align=left>
+                    <s:if test="visibility == 'PRIVATE'">
+                      <input type=radio name="visibility" value="PRIVATE"    checked onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
+                    </s:if>
+                    <s:elseif test="visibility == 'PUBLIC'">
+                      <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="PUBLIC"     checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
+                    </s:elseif>
+                    <s:elseif test="visibility == 'onlypublic'">
+                      <input type=radio name="visibility" value="PRIVATE"   disabled onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="onlypublic" checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="all"       disabled onClick="changeFilter()"><s:text name="field.either"/>
+                    </s:elseif>
+                    <s:else>
+                      <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
+                      <input type=radio name="visibility" value="all"        checked onClick="changeFilter()"><s:text name="field.either"/>
+                    </s:else>
+                  </td>
+                </tr>
+                <tr>
+                  <td colspan=2><s:text name="criterion.author"/>&nbsp;</td>
+                  <td colspan=3 align=center>
+                <select name="author" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
+                  <option value="0"><s:text name="criterion.anybody" /></option>
                   <s:iterator value="candidates">
                     <s:if test="%{index == #him}">
                       <option value="<s:property value="index"/>" selected><s:property value="toString()"/></option>
                     </s:else>
                   </s:iterator>
                 </select>
-              </div>
-              <div id="article-item">
-<%  if (anonymous) {
-%>                <input type=radio name="owner" value="mine" disabled><font color="#A1A192"><s:text name="criterion.study.mine"/></font>
-<%  } else {
-%>              <s:if test="owner == 'mine'">
-                  <input type=radio name="owner" value="mine" checked onClick="unsetReference()"><s:text name="criterion.study.mine"/>
-                </s:if><s:else>
-                  <input type=radio name="owner" value="mine"         onClick="unsetReference()"><s:text name="criterion.study.mine"/>
-                </s:else>
-<%  }  %>     </div>
-              <div id="article-item">
-                <s:if test="owner == 'ref'">
-                  <input type=radio name="owner" value="ref" checked onClick="setReference()"><s:text name="criterion.study.ref"/>
-                </s:if><s:else>
-                  <input type=radio name="owner" value="ref"         onClick="setReference()"><s:text name="criterion.study.ref"/>
-                </s:else>
-                <div id=refid>
-                  <input type=text name="reference" value="<s:property value="%{reference}"/>" size="18" onKeydown="changeFilter()"/>
-                </div>
-              </div>
+                  </td>
+                </tr>
+                <tr>
+                  <s:set var="tipdate">
+                    <s:text name="help.search.date">
+                      <s:param><s:text name="%{#format}"/></s:param>
+                      <s:param><s:text name="%{#today}"/></s:param>
+                    </s:text>
+                  </s:set>
+                  <td><s:text name="field.credate"/>&nbsp;</td>
+                  <td><s:text name="field.after"/>&nbsp;</td>
+                  <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
+                  <td><s:text name="field.before"/>&nbsp;</td>
+                  <td><input type=text name=before size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
+                </tr><tr>
+                  <td><s:text name="field.lasdate"/>&nbsp;</td>
+                  <td><s:text name="field.after"/>&nbsp;</td>
+                  <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
+                  <td><s:text name="field.before"/>&nbsp;</td>
+                  <td><input type=text name="before" size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
+                </tr>
+              </table>
+              <table cellpadding=0 cellspacing=0 border=0 class=text>
+                <tr>
+                  <td><s:text name="field.contain"/>:&nbsp;</td>
+                  <td><input type=text name=words style="width: <s:text name="size.search.input"/>" value="<s:property value="%{words}"/>" onKeydown="changeFilter()" title="<s:text name="help.search.title"/>" /></td>
+                </tr><tr>
+                  <td><s:text name="field.reference"/>:&nbsp;</td>
+                  <td><input type=text name="reference" style="width: <s:text name="size.search.input"/>" value="<s:property value="%{reference}"/>" onKeydown="changeFilter()" title="<s:text name="help.search.refid"/>" /></td>
+                </tr>
+              </table>
               </td>
-              <td rowspan=2>
-                <div id=contlist>
-
+              <td width=60%>
                 <table cellpadding=0 cellspacing=0 border=0 class=text>
                   <s:iterator value="simulationContexts">
                     <tr>
                           </s:iterator>
                         </select>
                 </s:if>
-                </div>
-              </td>
-            </tr>
-            <tr>
-              <td>
-                <div id=wordin>
-                  <br/><s:text name="field.contain"/>&nbsp;:&nbsp;<input type=text name=words value="<s:property value="%{words}"/>" onKeydown="changeFilter()" />
-                </div>
               </td>
             </tr>
+          </table>
+
+          <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
             <tr>
-              <td></td>
-              <td align=left>
-                <input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/>
-              </td>
+              <td width=40%></td>
+              <td width=60% align=left><input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/></td>
             </tr>
           </table>