Salome HOME
Menus are improved
[tools/siman.git] / Workspace / Siman / WebContent / study / searchKnowledge.jsp
index b93a981474124e4473b5bc758bda22670ca0e748..bfbb3cf16dd03cd1807c071699e0c683a85d2bde 100644 (file)
@@ -1,8 +1,12 @@
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     pageEncoding="ISO-8859-1"
 %>
-<%@ page import="org.splat.som.KnowledgeElement"%>
+<%@ page import="org.splat.dal.bo.som.KnowledgeElement"%>
 <%@ 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">
     <title><s:text name="name.module"/></title>
     <link href=<s:url value="/skin/default.css"/> rel="stylesheet" type="text/css">
-    <script language="JavaScript" type="text/javascript" src="../jvs/search.js"></script>
+    <script language="JavaScript" type="text/javascript" src="../js/search.js"></script>
   </head>
 
   <body onLoad="initialize('<%=result%>')">
 <!-- Menu-bar
      =============================================================================================================================
   -->
-    <jsp:include page="/jsp/menubar.jsp">
-        <jsp:param name="menu" value="open" />
-    </jsp:include>
+    <jsp:include page="/jsp/menubar.jsp" />
     <div id=top-spacer></div>
 
 <!-- Search menu
 <!-- 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-knowledge" 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="type"   value="state"/>
+          <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.knowledge.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.knowledge.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>
-                <s:set var="type" value="state"/>
-                <select name="state" style="width: <s:text name="size.knowledge.state"/>" onChange="changeFilter()">
-                  <option value="0"><s:text name="menu.select" /></option>
+              </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="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>
+              </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.knowledge"/>&nbsp;</td>
+                  <td colspan=3 align=center>
+                <select name="state" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
                   <s:iterator value="knowledgeTypes">
                     <s:if test="%{index == #type}">
-                      <option value="<s:property value="index"/>" selected>&nbsp;<s:text name="type.knowledge.%{name}" /></option>
+                      <option value="<s:property value="index"/>" selected><s:text name="type.knowledge.%{name}" /></option>
                     </s:if><s:else>
-                      <option value="<s:property value="index"/>">&nbsp;<s:text name="type.knowledge.%{name}" /></option>
+                      <option value="<s:property value="index"/>"><s:text name="type.knowledge.%{name}" /></option>
                     </s:else>
                   </s:iterator>
                 </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.knowledge.his"/>
-                </s:if><s:else>
-                  <input type=radio name="owner" value="his"         onClick="unsetReference()"><s:text name="criterion.knowledge.his"/>
-                </s:else>
-                <s:set var="him" value="author"/>
-                <select name="author" style="width: <s:text name="size.knowledge.author"/>" onChange="changeFilter()">
-                  <option value="0"><s:text name="menu.select" /></option>
+                  </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.knowledge.mine"/></font>
-<%  } else {
-%>              <s:if test="owner == 'mine'">
-                  <input type=radio name="owner" value="mine" checked onClick="unsetReference()"><s:text name="criterion.knowledge.mine"/>
-                </s:if><s:else>
-                  <input type=radio name="owner" value="mine"         onClick="unsetReference()"><s:text name="criterion.knowledge.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.knowledge.ref"/>
-                </s:if><s:else>
-                  <input type=radio name="owner" value="ref" onClick="setReference()"><s:text name="criterion.knowledge.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 height=26><td></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>