1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
2 pageEncoding="ISO-8859-1"
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">
13 <s:if test="actionType == null">
14 <s:set var="todo">display</s:set>
18 <s:property value="actionType" />
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'}"/>
27 <s:url id="undo" namespace="/study" action="prop-study" />
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">
36 // -------------------
37 var type = edit.documentType.value;
38 // if (type == "0") edit.saveCycle.disabled = true;
39 // else edit.saveCycle.disabled = false;
47 =============================================================================================================================
52 <s:text name="title.prop.study" />
54 <div id=article-body class=text>
56 <form name="edit" action="valid-edit" method="post">
57 <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
59 <tr height=10><td width=20></td></tr>
61 <td width=16><img src="<s:url value="/skin/image.downarrow.png"/>" border="none"/></td>
62 <td width=24%><b><s:text name="field.studytitle"/></b></td>
68 <tr height=5><td></td></tr>
71 <s:if test="actionType eq 'edititle'">
73 <s:a href="%{#undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="button.cancel"/>"/></s:a>
76 <input type=text size="108" name=title value="<s:property value="studyTitle"/>">
79 <button type="submit" name="saveTitle" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
80 <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
87 <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>
89 <td colspan=4><s:property value="studyTitle"/></td>
93 <tr height=10><td width=20></td></tr>
95 <td><img src="<s:url value="/skin/image.downarrow.png"/>" border="none"/></td>
96 <td><b><s:text name="label.members"/></b></td>
98 <tr height=5><td></td></tr>
100 <s:if test="actionType eq 'edibutor'">
103 <s:a href="%{#undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="button.cancel"/>"/></s:a>
105 <td><s:text name="label.presents"/></td>
106 <td colspan=3><s:text name="label.absents"/></td>
108 <button type="submit" name="saveContributors" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
109 <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
113 <tr height=1 bgcolor=#AAAAAA><td colspan=6></td></tr>
115 // Scriptlet implementation is required due to specific iteration
116 ValueStack stack = ActionContext.getContext().getValueStack();
117 Object stacktop = stack.peek();
118 StudyPropertiesAction controler = (StudyPropertiesAction)stacktop;
120 Iterator<User> members = controler.getContributors().iterator();
121 for (Iterator<User> staff = controler.getCandidates().iterator(); staff.hasNext(); ) {
123 if (members.hasNext()) {
124 User user = members.next();
125 out.print("<td><input type=checkbox name=\"members\" value=\"" + String.valueOf(String.valueOf(user.getIndex())) + "\" checked/></td>");
127 out.print(user.toString());
130 out.print("<td></td><td></td>");
132 for (int j=0; j<3; j++) {
133 if (staff.hasNext()) {
134 User user = staff.next();
135 out.print("<td><input type=checkbox name=\"candidates\" value=\"" + String.valueOf(user.getIndex()) + "\" /> ");
136 out.print(user.toString());
139 out.print("<td></td>");
144 while (members.hasNext()) {
145 User user = members.next();
147 out.print("<td><input type=checkbox name=\"members\" value=\"" + String.valueOf(user.getIndex()) + "\" checked/></td>");
149 out.print(user.toString());
157 <td><s:text name="label.contributor"/></td>
160 <td><s:text name="label.manager"/></td>
162 <tr height=1 bgcolor=#AAAAAA><td colspan=6></td></tr>
165 <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>
168 <s:if test="contributors.size > 0">
169 <s:iterator value="contributors" status="counter">
170 <s:if test="#counter.last"><s:property value="toString()"/></s:if>
171 <s:else><s:property value="toString()"/>,</s:else>
174 <s:property value="%{'-'}"/>
177 <td><s:property value="%{author.toString()}"/></td>
181 <tr height=15><td width=20></td></tr>
183 <td><img src="<s:url value="/skin/image.downarrow.png"/>" border="none"/></td>
184 <td><b><s:text name="label.approcycle"/></b></td>
186 <tr height=5><td></td></tr>
189 <td><s:text name="field.documentype"/></td>
190 <td><s:text name="label.PROMOTION"/></td>
191 <td><s:text name="label.REVIEW"/></td>
192 <td><s:text name="label.APPROVAL"/></td>
194 <tr height=1 bgcolor=#AAAAAA><td colspan=6></td></tr>
196 <s:set var="edited" value="cycle"/>
197 <s:set var="height" value=""/>
198 <s:iterator value="validations" status="counter">
199 <s:url id="edicycle" namespace="/study" action="edit-cycle">
200 <s:param name="cycle" value="documentType"/>
202 <s:if test="#counter.last"><s:set var="height" value="24"/></s:if>
203 <tr height="<s:property value="#height"/>">
205 <s:if test="#todo == 'display'">
206 <s:if test="#counter.last">
207 <s:if test="otherDocumentTypes.size > 0">
208 <s:a href="%{#addcycle}">
209 <img src="<s:url value="/skin/icon.ed.png"/>" border="none" title="<s:text name="tooltip.addvalidation"/>" />
213 <s:a href="%{#edicycle}">
214 <img src="<s:url value="/skin/icon.ed.png"/>" border="none" title="<s:text name="tooltip.editvalidation"/>" />
217 </s:if><s:elseif test="#todo == 'edicycle' && documentType == #edited">
218 <s:a href="%{#undo}"><img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="button.cancel"/>"/></s:a>
222 <s:if test="#counter.last">
223 <s:if test="#todo == 'edicycle' && documentType == #edited">
224 <select name="documentType" onChange="setType()">
225 <option value="0"> <s:text name="menu.select"/></option>
226 <s:iterator value="otherDocumentTypes">
227 <option value="<s:property value="index"/>"><s:text name="type.document.%{name}"/></option>
231 <s:if test="validations.size > 0"><i><s:text name="label.other"/></i></s:if>
232 <s:else><i><s:text name="label.all"/></i></s:else>
235 <s:if test="#todo == 'edicycle' && documentType == #edited">
236 <input type="hidden" name="documentType" value="<s:property value="documentTypeIndex"/>"/>
238 <s:text name="type.document.%{documentType}"/>
242 <s:if test="#todo == 'edicycle' && documentType == #edited">
243 <s:set var="selection" value="publisherIndex"/>
244 <select name="publisher">
245 <option value="0"><s:text name="label.bytheauthor"/></option>
246 <s:if test="%{#selection != 0}"><option value="<s:property value="#selection"/>" selected><s:text name="label.me"/></option></s:if>
247 <s:else><option value="<s:property value="author.index"/>"><s:text name="label.me"/></option></s:else>
250 <s:if test="publisherIndex > 0"><s:property value="publisherName"/></s:if>
251 <s:else><i><s:property value="publisherName"/></i></s:else>
255 <s:if test="#todo == 'edicycle' && documentType == #edited">
256 <s:set var="selection" value="reviewerIndex"/>
257 <select name="reviewer">
258 <option value="0">- <s:text name="label.skipped"/> -</option>
259 <s:iterator value="validationActors">
260 <s:if test="%{index == #selection}"><option value="<s:property value="index"/>" selected><s:property value="toString()"/></option></s:if>
261 <s:else><option value="<s:property value="index"/>"><s:property value="toString()"/></option></s:else>
265 <s:if test="reviewerIndex > 0"><s:property value="reviewerName"/></s:if>
266 <s:else><font color="#A1A192"><i><s:property value="reviewerName"/></i></font></s:else>
270 <s:if test="#todo == 'edicycle' && documentType == #edited">
271 <s:set var="selection" value="approverIndex"/>
272 <select name="approver">
273 <option value="0">- <s:text name="label.skipped"/> -</option>
274 <s:iterator value="validationActors">
275 <s:if test="%{index == #selection}"><option value="<s:property value="index"/>" selected><s:property value="toString()"/></option></s:if>
276 <s:else><option value="<s:property value="index"/>"><s:property value="toString()"/></option></s:else>
280 <s:if test="approverIndex > 0"><s:property value="approverName"/></s:if>
281 <s:else><font color="#A1A192"><i><s:property value="approverName"/></i></font></s:else>
285 <s:if test="#todo == 'edicycle' && documentType == #edited">
286 <button type="submit" name="saveCycle" value="" style="width:24px; height:16px; border:0; cursor:pointer; cursor:hand; background:transparent">
287 <img src="<s:url value="/skin/image.export.png"/>" title="<s:text name="button.save"/>"/>
293 <tr height=3><td></td></tr>