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