]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/Siman/WebContent/study/searchStudy.jsp
Salome HOME
Javascript files are moved to js subfolder. jQuery and jQuery-UI are added.
[tools/siman.git] / Workspace / Siman / WebContent / study / searchStudy.jsp
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
2     pageEncoding="ISO-8859-1"
3 %>
4 <%@ page import="org.splat.dal.bo.som.Study"%>
5 <%@ page import="org.splat.som.ApplicationRights"%>
6 <%@ page import="org.splat.simer.ApplicationSettings"%>
7 <%@ page import="java.util.ResourceBundle"%>
8 <%@ page import="java.util.Calendar"%>
9 <%@ page import="java.text.SimpleDateFormat"%>
10 <%@
11     taglib prefix="s" uri="/struts-tags"
12 %>
13 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
14
15 <!-- Initialization of the context
16      =============================================================================================================================
17   -->
18 <%  String  action = request.getParameter("action");
19
20     ApplicationRights rights    = (ApplicationRights)session.getAttribute("user.rights");
21     ResourceBundle    locale    = ResourceBundle.getBundle("som", ApplicationSettings.getCurrentLocale());
22     String            format    = locale.getString("date.format");
23     SimpleDateFormat  tostring  = new SimpleDateFormat(format);
24     String            result    = "uptodate";
25     boolean           connected = false;
26
27     if (rights.getUser() != null)                      connected = true;
28     if (session.getAttribute("search.result") == null) result    = "obsolete";
29 %>
30 <s:set var="todo"><%=action%></s:set>
31 <s:set var="user"><%=connected%></s:set>
32 <s:set var="format"><%=format%></s:set>
33 <s:set var="today"><%=tostring.format(java.util.Calendar.getInstance().getTime())%></s:set>
34 <html>
35   <head>
36     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
37     <title><s:text name="name.module"/></title>
38     <link href=<s:url value="/skin/default.css"/> rel="stylesheet" type="text/css">
39     <script language="JavaScript" type="text/javascript" src="../js/search.js"></script>
40   </head>
41
42   <body onLoad="initialize('<%=result%>')">
43 <!-- Menu-bar
44      =============================================================================================================================
45   -->
46     <jsp:include page="/jsp/menubar.jsp">
47         <jsp:param name="menu" value="open" />
48     </jsp:include>
49     <div id=top-spacer></div>
50
51 <!-- Search menu
52      =============================================================================================================================
53   -->
54     <div id=left-pane>
55       <jsp:include page="/jsp/toolbar.jsp">
56         <jsp:param name="tools" value="none" />
57       </jsp:include>
58       <div id=top-spacer></div>
59       <jsp:include page="/jsp/menuitem.jsp">
60         <jsp:param name="menu" value="open" />
61       </jsp:include>
62     </div>
63
64     <div id=main-pane>
65
66 <!-- Search criteria section
67      =============================================================================================================================
68   -->
69       <div id=article-box>
70         <div id=section><s:text name="title.criteria"/></div>
71         <div id="article-body">
72           <form name="search" action="refresh-study" method="post">
73           <input type=hidden name="contextIndex" />
74           <s:set var="match1" value="criteriaMatch"/>
75           <s:set var="match2" value="contextMatch"/>
76           <s:set var="him"    value="author"/>
77
78           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
79             <tr height=20>
80               <td width=40%>
81                 <b><s:text name="field.among"/></b>&nbsp;&nbsp;&nbsp;
82                 <s:if test="%{#match1 == 'all'}">
83                 <input type=radio name="criteriaMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
84                 &nbsp;
85                 <input type=radio name="criteriaMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
86                 </s:if><s:else>
87                 <input type=radio name="criteriaMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
88                 &nbsp;
89                 <input type=radio name="criteriaMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
90                 </s:else>
91               </td>
92               <td width=60%>|&nbsp;&nbsp;
93                 <b><s:text name="field.context"/></b>&nbsp;&nbsp;&nbsp;
94                 <s:if test="%{#match2 == 'all'}">
95                 <input type=radio name="contextMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
96                 &nbsp;
97                 <input type=radio name="contextMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
98                 </s:if><s:else>
99                 <input type=radio name="contextMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
100                 &nbsp;
101                 <input type=radio name="contextMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
102                 </s:else>
103               </td>
104             </tr>
105             <tr height=1 bgcolor=#AAAAAA><td colspan=2></td></tr>
106           </table>
107
108           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
109             <tr valign=top>
110               <td width=40%>
111               <table cellpadding=0 cellspacing=0 border=0 class=text>
112                 <tr>
113                   <td colspan=2><s:text name="criterion.study"/>&nbsp;</td>
114                   <td colspan=3 align=center>
115                   <select name="state" style="width: <s:text name="size.search.select"/>" onChange="setState()">
116                     <s:if test="state == 'ANY'">       <option value="ANY"        selected><s:text name="criterion.any" /></option></s:if>
117                     <s:else>                           <option value="ANY"                ><s:text name="criterion.any" /></option></s:else>
118                     <s:if test="#user">
119                       <s:if test="state == 'inWORK'">  <option value="inWORK"     selected><s:text name="criterion.inwork" /></option></s:if>
120                       <s:else>                         <option value="inWORK"             ><s:text name="criterion.inwork" /></option></s:else>
121                       <s:if test="state == 'inDRAFT'"> <option value="inDRAFT"    selected><s:text name="criterion.indraft" /></option></s:if>
122                       <s:else>                         <option value="inDRAFT"            ><s:text name="criterion.indraft" /></option></s:else>
123                       <s:if test="state == 'inCHECK'"> <option value="inCHECK"    selected><s:text name="criterion.incheck" /></option></s:if>
124                       <s:else>                         <option value="inCHECK"            ><s:text name="criterion.incheck" /></option></s:else>
125                     </s:if>
126                     <s:if test="state == 'APPROVED'">  <option value="APPROVED"   selected><s:text name="criterion.approved" /></option></s:if>
127                     <s:else>                           <option value="APPROVED"           ><s:text name="criterion.approved" /></option></s:else>
128                     <s:if test="state == 'TEMPLATE'">  <option value="TEMPLATE"   selected><s:text name="criterion.template" /></option></s:if>
129                     <s:else>                           <option value="TEMPLATE"           ><s:text name="criterion.template" /></option></s:else>
130                   </select>
131                   </td>
132                 </tr>
133                 <tr>
134                   <td colspan=5 align=left>
135                     <s:if test="visibility == 'PRIVATE'">
136                       <input type=radio name="visibility" value="PRIVATE"    checked onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
137                       <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
138                       <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
139                     </s:if>
140                     <s:elseif test="visibility == 'PUBLIC'">
141                       <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
142                       <input type=radio name="visibility" value="PUBLIC"     checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
143                       <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
144                     </s:elseif>
145                     <s:elseif test="visibility == 'onlypublic'">
146                       <input type=radio name="visibility" value="PRIVATE"   disabled onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
147                       <input type=radio name="visibility" value="onlypublic" checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
148                       <input type=radio name="visibility" value="all"       disabled onClick="changeFilter()"><s:text name="field.either"/>
149                     </s:elseif>
150                     <s:else>
151                       <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
152                       <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
153                       <input type=radio name="visibility" value="all"        checked onClick="changeFilter()"><s:text name="field.either"/>
154                     </s:else>
155                   </td>
156                 </tr>
157                 <tr>
158                   <td colspan=2><s:text name="criterion.author"/>&nbsp;</td>
159                   <td colspan=3 align=center>
160                 <select name="author" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
161                   <option value="0"><s:text name="criterion.anybody" /></option>
162                   <s:iterator value="candidates">
163                     <s:if test="%{index == #him}">
164                       <option value="<s:property value="index"/>" selected><s:property value="toString()"/></option>
165                     </s:if><s:else>
166                       <option value="<s:property value="index"/>"><s:property value="toString()"/></option>
167                     </s:else>
168                   </s:iterator>
169                 </select>
170                   </td>
171                 </tr>
172                 <tr>
173                   <s:set var="tipdate">
174                     <s:text name="help.search.date">
175                       <s:param><s:text name="%{#format}"/></s:param>
176                       <s:param><s:text name="%{#today}"/></s:param>
177                     </s:text>
178                   </s:set>
179                   <td><s:text name="field.credate"/>&nbsp;</td>
180                   <td><s:text name="field.after"/>&nbsp;</td>
181                   <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
182                   <td><s:text name="field.before"/>&nbsp;</td>
183                   <td><input type=text name=before size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
184                 </tr><tr>
185                   <td><s:text name="field.lasdate"/>&nbsp;</td>
186                   <td><s:text name="field.after"/>&nbsp;</td>
187                   <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
188                   <td><s:text name="field.before"/>&nbsp;</td>
189                   <td><input type=text name="before" size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
190                 </tr>
191               </table>
192               <table cellpadding=0 cellspacing=0 border=0 class=text>
193                 <tr>
194                   <td><s:text name="field.contain"/>:&nbsp;</td>
195                   <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>
196                 </tr><tr>
197                   <td><s:text name="field.reference"/>:&nbsp;</td>
198                   <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>
199                 </tr>
200               </table>
201               </td>
202               <td width=60%>
203                 <table cellpadding=0 cellspacing=0 border=0 class=text>
204                   <s:iterator value="simulationContexts">
205                     <tr>
206                       <td><input type=checkbox checked onClick="removeContext('<s:property value="index"/>')">&nbsp;</td>
207                       <td>
208                         <s:if test="%{type.isApproved()}"><s:text name="type.context.%{type.name}"/>:&nbsp;</s:if>
209                         <s:else><s:property value="%{type.name}"/>:&nbsp;</s:else>
210                       </td>
211                       <td><s:property value="value"/></td>
212                     </tr>
213                   </s:iterator>
214
215                   <s:if test="%{#todo == 'setContext'}">
216                     <tr>
217                       <td>
218                         <img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" onClick="cancel()" />&nbsp;
219                       </td>
220                       <td>
221                         <s:if test="%{selectedContextType.isApproved()}"><s:text name="type.context.%{selectedContextType.name}"/>:&nbsp;</s:if>
222                         <s:else><s:property value="%{selectedContextType.name}"/>:&nbsp;</s:else>
223                       </td>
224                       <td>
225                         <select name="contextValue" onChange="submit()">
226                           <option value="-1"><s:text name="menu.select"/></option>
227                           <s:iterator value="contextValueOptions">
228                             <option value="<s:property value="index"/>">&nbsp;<s:property value="value" /></option>
229                           </s:iterator>
230                         </select>
231                       </td>
232                     </tr>
233                   </s:if>
234                 </table>
235
236                 <s:if test="%{#todo != 'setContext'}">
237                         <select name="contextType" onChange="submit()">
238                           <option value="-1"><s:text name="menu.addcontext"/></option>
239                           <s:iterator value="contextTypeOptions">
240                             <option value="<s:property value="index"/>">
241                               <s:if test="%{isApproved()}">&nbsp;<s:text name="type.context.%{name}" /></s:if>
242                               <s:else>&nbsp;<s:property value="%{name}" /></s:else>
243                             </option>
244                           </s:iterator>
245                         </select>
246                 </s:if>
247               </td>
248             </tr>
249           </table>
250
251           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
252             <tr>
253               <td width=40%></td>
254               <td width=60% align=left><input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/></td>
255             </tr>
256           </table>
257
258           </form>
259         </div>
260       </div>
261
262 <!-- Result list
263      =============================================================================================================================
264   -->
265       <div id=resulist>
266       <div id=article-box>
267         <div id=section><s:text name="title.result"/></div>
268         <div id=article-body class=text>
269
270           <s:if test="result.size > 0">
271             <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
272             <tr height=20 valign=bottom>
273               <td width=20></td>
274               <td width=80><s:text name="label.reference"/></td>
275               <td><s:text name="label.title"/><img src="<s:url value="/skin/icon.sortup.png"/>" border="none"/></td>
276               <td width=150><s:text name="label.manager"/></td>
277             </tr>
278             <tr height=1 bgcolor=#AAAAAA><td colspan=4></td></tr>
279               <s:iterator value="result">
280                 <tr>
281                   <td><img src="<s:url value="/skin/icon.%{progressState}.png"/>" width=12 height=12 border="none" title=""/></td>
282                   <td><s:property value="reference"/></td>
283                   <td>
284                       <s:url id="open" namespace="/study" action="open-study?selection=0.0">
285                         <s:param name="index" value="%{index}"/>
286                       </s:url>
287                       <s:a href="%{open}" cssClass="link"><s:property value="title"/></s:a>
288                   </td>
289                   <td><s:property value="authorName"/></td>
290                 </tr>
291               </s:iterator>
292             </table>
293           </s:if>
294
295           <s:else>
296             <s:text name="message.nostudy" />
297           </s:else>
298         </div>
299       </div>
300       </div>
301
302     </div>
303
304   </body>
305 </html>