Salome HOME
Fix for mantis #0022093: To exclude the "In-Draft" state from drop-down list during...
[tools/siman.git] / Workspace / Siman / WebContent / study / editStudyProperties.jsp
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
2     pageEncoding="ISO-8859-1"
3 %>
4 <%@ page import="java.util.Iterator"%>
5 <%@ page import="com.opensymphony.xwork2.util.ValueStack"%>
6 <%@ page import="com.opensymphony.xwork2.ActionContext"%>
7 <%@ page import="org.splat.simer.StudyPropertiesAction"%>
8 <%@ page import="org.splat.dal.bo.kernel.User"%>
9 <%@ taglib prefix="s" uri="/struts-tags"%>
10 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
11
12
13 <s:if test="actionType == null">
14         <s:set var="todo">display</s:set>
15 </s:if>
16 <s:else>
17         <s:set var="todo">
18                 <s:property value="actionType" />
19         </s:set>
20 </s:else>
21
22 <s:url id="edititle" namespace="/study" action="edit-title" />
23 <s:url id="edibutor" namespace="/study" action="edit-contributor" />
24 <s:url id="addcycle" namespace="/study" action="edit-cycle">
25   <s:param name="cycle" value="%{'default'}"/>
26 </s:url>
27 <s:url id="undo"     namespace="/study" action="prop-study" />
28 <html>
29
30   <head>
31     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
32     <link href=<s:url value="/skin/default.css"/> rel="stylesheet" type="text/css">
33     <script language="JavaScript">
34
35     function setType () {
36 //  -------------------
37       var type   = edit.documentType.value;
38 //    if (type == "0") edit.saveCycle.disabled = true;
39 //    else             edit.saveCycle.disabled = false;
40     }
41     </script>
42   </head>
43
44   <body>
45
46 <!-- Properties form
47      =============================================================================================================================
48   -->
49       <div id=article-box>
50         <div id=section>
51           <s:text name="title.prop.study" />
52         </div>
53         <div id=article-body class=text>
54
55           <form name="edit" action="valid-edit" method="post">
56           <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
57
58             <tr height=10><td width=20></td></tr>
59             <tr>
60               <td width=16><img src="<s:url value="/skin/image.downarrow.png"/>" border="none"/></td>
61               <td width=24%><b><s:text name="field.studytitle"/></b></td>
62               <td width=23%></td>
63               <td width=23%></td>
64               <td width=23%></td>
65               <td width=24></td>
66             </tr>
67             <tr height=5><td></td></tr>
68             <tr height=26>
69             
70             <s:if test="actionType eq 'edititle'">
71               <td>
72                 <s:a href="%{#undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="button.cancel"/>"/></s:a>
73               </td>
74               <td colspan=4>
75                 <input type=text size="108" name=title value="<s:property value="studyTitle"/>">
76               </td>
77               <td align=right>
78                 <button type="submit" name="saveTitle" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
79                   <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
80                 </button>
81               </td>
82               </s:if>
83               <s:else>
84
85                   <td>
86                 <s:if test="#todo == 'display'"><s:a href="%{#edititle}"><img src="<s:url value="/skin/icon.ed.png"/>" border="none" title="<s:text name="tooltip.edit.title"/>"/></s:a></s:if>
87               </td>
88               <td colspan=4><s:property value="studyTitle"/></td>
89               </s:else>
90               
91                 </tr>
92             <tr height=10><td width=20></td></tr>
93             <tr>
94               <td><img src="<s:url value="/skin/image.downarrow.png"/>" border="none"/></td>
95               <td><b><s:text name="label.members"/></b></td>
96             </tr>
97             <tr height=5><td></td></tr>    
98             
99             <s:if test="actionType eq 'edibutor'">   
100             <tr>
101               <td>
102                 <s:a href="%{#undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="button.cancel"/>"/></s:a>
103               </td>
104               <td><s:text name="label.presents"/></td>
105               <td colspan=3><s:text name="label.absents"/></td>
106               <td align=right>
107                 <button type="submit" name="saveContributors" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
108                   <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
109                 </button>
110               </td>
111             </tr>
112             <tr height=1 bgcolor=#AAAAAA><td colspan=6></td></tr>
113 <%
114 //    Scriptlet implementation is required due to specific iteration
115       ValueStack             stack     = ActionContext.getContext().getValueStack();
116       Object                 stacktop  = stack.peek();
117       StudyPropertiesAction  controler = (StudyPropertiesAction)stacktop;
118
119       Iterator<User>         members   = controler.getContributors().iterator();
120       for (Iterator<User>    staff     = controler.getCandidates().iterator(); staff.hasNext(); ) {
121         out.print("<tr>");
122           if (members.hasNext()) {
123             User  user = members.next();
124             out.print("<td><input type=checkbox name=\"members\" value=\"" + String.valueOf(String.valueOf(user.getIndex())) + "\" checked/></td>");
125             out.print("<td>");
126               out.print(user.toString());
127             out.print("</td>");
128           } else {
129             out.print("<td></td><td></td>");
130           }
131           for (int j=0; j<3; j++) {
132           if (staff.hasNext()) {
133                   User user = staff.next();
134             out.print("<td><input type=checkbox name=\"candidates\" value=\"" + String.valueOf(user.getIndex()) + "\" />&nbsp;");
135               out.print(user.toString());
136             out.print("</td>");
137           } else {
138             out.print("<td></td>");
139           }
140           }
141         out.print("</tr>");
142       }
143       while (members.hasNext()) {
144         User  user = members.next();
145         out.print("<tr>");
146           out.print("<td><input type=checkbox name=\"members\" value=\"" + String.valueOf(user.getIndex()) + "\" checked/></td>");
147           out.print("<td>");
148             out.print(user.toString());
149           out.print("</td>");
150         out.print("</tr>");
151       }%>
152       </s:if>
153           <s:else>
154           <tr>
155               <td></td>
156               <td><s:text name="label.contributor"/></td>
157               <td></td>
158               <td></td>
159               <td><s:text name="label.manager"/></td>
160             </tr>
161             <tr height=1 bgcolor=#AAAAAA><td colspan=6></td></tr>
162             <tr>
163               <td>
164                 <s:if test="#todo == 'display'"><s:a href="%{#edibutor}"><img src="<s:url value="/skin/icon.ed.png"/>" border="none" title="<s:text name="tooltip.edit.members"/>"/></s:a></s:if>
165               </td>
166               <td colspan=3>
167                     <s:if test="contributors.size > 0">
168                       <s:iterator value="contributors" status="counter">
169                         <s:if test="#counter.last"><s:property value="toString()"/></s:if>
170                         <s:else><s:property value="toString()"/>,</s:else>
171                       </s:iterator>
172                     </s:if><s:else>
173                       <s:property value="%{'-'}"/>
174                     </s:else>
175               </td>
176               <td><s:property value="%{author.toString()}"/></td>
177             </tr>
178             </s:else>
179
180             <tr height=15><td width=20></td></tr>
181             <tr>
182               <td><img src="<s:url value="/skin/image.downarrow.png"/>" border="none"/></td>
183               <td><b><s:text name="label.approcycle"/></b></td>
184             </tr>
185             <tr height=5><td></td></tr>
186             <tr>
187               <td></td>
188               <td><s:text name="field.documentype"/></td>
189               <td><s:text name="label.PROMOTION"/></td>
190               <td><s:text name="label.REVIEW"/></td>
191               <td><s:text name="label.APPROVAL"/></td>
192             </tr>
193             <tr height=1 bgcolor=#AAAAAA><td colspan=6></td></tr>
194
195             <s:set var="edited" value="cycle"/>
196             <s:set var="height" value=""/>
197             <s:iterator value="validations" status="counter">
198             <s:url id="edicycle" namespace="/study" action="edit-cycle">
199               <s:param name="cycle" value="documentType"/>
200             </s:url>
201             <s:if test="#counter.last"><s:set var="height" value="24"/></s:if>
202             <tr height="<s:property value="#height"/>">
203               <td>
204                 <s:if test="#todo == 'display'">
205                   <s:if test="#counter.last">
206                     <s:if test="otherDocumentTypes.size > 0">
207                     <s:a href="%{#addcycle}">
208                       <img src="<s:url value="/skin/icon.ed.png"/>" border="none" title="<s:text name="tooltip.addvalidation"/>" />
209                     </s:a>
210                     </s:if>
211                   </s:if><s:else>
212                   <s:a href="%{#edicycle}">
213                     <img src="<s:url value="/skin/icon.ed.png"/>" border="none" title="<s:text name="tooltip.editvalidation"/>" />
214                   </s:a>
215                   </s:else>
216                 </s:if><s:elseif test="#todo == 'edicycle' && documentType == #edited">
217                   <s:a href="%{#undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="button.cancel"/>"/></s:a>
218                 </s:elseif>
219               </td>
220               <td>
221               <s:if test="#counter.last">
222                 <s:if test="#todo == 'edicycle' && documentType == #edited">
223                 <select name="documentType" onChange="setType()">
224                   <option value="0">&nbsp;<s:text name="menu.select"/></option>
225                   <s:iterator value="otherDocumentTypes">         
226                     <option value="<s:property value="index"/>"><s:text name="type.document.%{name}"/></option>
227                   </s:iterator>   
228                 </select>
229                 </s:if><s:else>
230                   <s:if test="validations.size > 0"><i><s:text name="label.other"/></i></s:if>
231                   <s:else><i><s:text name="label.all"/></i></s:else>
232                 </s:else>
233               </s:if><s:else>
234                 <s:if test="#todo == 'edicycle' && documentType == #edited">
235                   <input type="hidden" name="documentType" value="<s:property value="documentTypeIndex"/>"/>
236                 </s:if>
237                   <s:text name="type.document.%{documentType}"/>
238               </s:else>
239               </td>
240               <td>
241               <s:if test="#todo == 'edicycle' && documentType == #edited">
242                 <s:set var="selection" value="publisherIndex"/>
243                 <select name="publisher">
244                   <option value="0"><s:text name="label.bytheauthor"/></option>
245                   <s:if test="%{#selection != 0}"><option value="<s:property value="#selection"/>" selected><s:text name="label.me"/></option></s:if>
246                   <s:else><option value="<s:property value="author.index"/>"><s:text name="label.me"/></option></s:else>
247                 </select>
248               </s:if><s:else>
249                 <s:if test="publisherIndex > 0"><s:property value="publisherName"/></s:if>
250                 <s:else><i><s:property value="publisherName"/></i></s:else>
251               </s:else>
252               </td>
253               <td>
254               <s:if test="#todo == 'edicycle' && documentType == #edited">
255                 <s:set var="selection" value="reviewerIndex"/>
256                 <select name="reviewer">
257                   <option value="0">-&nbsp;<s:text name="label.skipped"/>&nbsp;-</option>
258                   <s:iterator value="validationActors">         
259                     <s:if test="%{index == #selection}"><option value="<s:property value="index"/>" selected><s:property value="toString()"/></option></s:if>
260                     <s:else><option value="<s:property value="index"/>"><s:property value="toString()"/></option></s:else>
261                   </s:iterator>   
262                 </select>
263               </s:if><s:else>
264                 <s:if test="reviewerIndex > 0"><s:property value="reviewerName"/></s:if>
265                 <s:else><font color="#A1A192"><i><s:property value="reviewerName"/></i></font></s:else>
266               </s:else>
267               </td>
268               <td>
269               <s:if test="#todo == 'edicycle' && documentType == #edited">
270                 <s:set var="selection" value="approverIndex"/>
271                 <select name="approver">
272                   <option value="0">-&nbsp;<s:text name="label.skipped"/>&nbsp;-</option>
273                   <s:iterator value="validationActors">         
274                     <s:if test="%{index == #selection}"><option value="<s:property value="index"/>" selected><s:property value="toString()"/></option></s:if>
275                     <s:else><option value="<s:property value="index"/>"><s:property value="toString()"/></option></s:else>
276                   </s:iterator>   
277                 </select>
278               </s:if><s:else>
279                 <s:if test="approverIndex > 0"><s:property value="approverName"/></s:if>
280                 <s:else><font color="#A1A192"><i><s:property value="approverName"/></i></font></s:else>
281               </s:else>
282               </td>
283               <td align=right>
284               <s:if test="#todo == 'edicycle' && documentType == #edited">
285                 <button type="submit" name="saveCycle" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
286                   <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
287                 </button>
288               </s:if>
289               </td>
290             </tr>
291             </s:iterator>
292             <tr height=3><td></td></tr>
293             </table>
294           </form>
295         </div>
296       </div>
297
298   </body>
299 </html>