Rev 1306 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
808 | jmachado | 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
2 | <%@ page import="pt.estgp.estgweb.domain.UserSessionImpl" %> |
||
3 | <%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %> |
||
4 | <%@ page import="pt.estgp.estgweb.Globals" %> |
||
5 | <%@ page import="java.util.ArrayList" %> |
||
6 | <%@ page import="java.util.List" %> |
||
7 | <%@ page import="pt.estgp.estgweb.web.form.assessments.AssessmentsForm" %> |
||
8 | <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
||
9 | <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
||
10 | <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
||
11 | <%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
||
12 | <%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
||
13 | <%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
||
14 | |||
15 | <jsp:useBean id="AssessmentsForm" type="pt.estgp.estgweb.web.form.assessments.AssessmentsForm" scope="request"/> |
||
16 | <jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
||
17 | |||
18 | <jomm:messages/> |
||
19 | <html:errors/> |
||
20 | |||
21 | <html:form action="/user/submitAssessmentResponseFromHome" enctype="multipart/form-data"> |
||
22 | <input type="hidden" name="dispatch"> |
||
23 | <html:hidden name="AssessmentsForm" property="assessmentView.id"/> |
||
24 | <html:hidden name="AssessmentsForm" property="assessmentResponseView.id"/> |
||
25 | <input type="hidden" name="questionsListSize" value="<%=((AssessmentsForm)request.getAttribute("AssessmentsForm")).getAssessmentView().getQuestions().size()%>"> |
||
26 | <% UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response); |
||
27 | int questionListSizeInt = ((AssessmentsForm)request.getAttribute("AssessmentsForm")).getAssessmentView().getQuestions().size(); |
||
28 | String questionListSize = String.valueOf(questionListSizeInt) ; |
||
29 | sess.put("questionsListSize", (java.io.Serializable) questionListSize); |
||
30 | sess.serialize(request,response); |
||
31 | //adicionar a lista de nomes |
||
32 | List<String> nomesSessao = (List<String>) sess.get("nomesSessao"); |
||
33 | if(nomesSessao==null) |
||
34 | { |
||
35 | nomesSessao = new ArrayList<String>(); |
||
36 | } |
||
37 | nomesSessao.add("questionsListSize"); |
||
38 | sess.put("nomesSessao", (java.io.Serializable) nomesSessao); |
||
39 | sess.serialize(request,response); |
||
40 | %> |
||
41 | |||
42 | <input type="hidden" name="horas" value="<%=AssessmentsForm.getAssessmentView().getTime().getHours()%>" id="horas"/> |
||
43 | <input type="hidden" name="minutos" value="<%=AssessmentsForm.getAssessmentView().getTime().getMinutes()%>" id="minutos"/> |
||
44 | |||
45 | <script language="Javascript"> |
||
46 | var horasT = document.forms[0].horas.value; |
||
47 | var minutosT = document.forms[0].minutos.value; |
||
48 | var segundosT=0; |
||
49 | function showRemaining() { |
||
50 | segundosT-- |
||
51 | if(segundosT<0) |
||
52 | { |
||
53 | minutosT--; |
||
54 | segundosT = 59; |
||
55 | if(minutosT<0) |
||
56 | { |
||
57 | horasT--; |
||
58 | minutosT=59; |
||
59 | if(horasT<0) |
||
60 | { |
||
61 | alert("O tempo da prova expirou!"); |
||
62 | set(document.forms[0],'answer'); |
||
63 | document.forms[0].submit(); |
||
64 | } |
||
65 | } |
||
66 | } |
||
67 | document.getElementById('tempoFinal').innerHTML = horasT + ':'; |
||
68 | document.getElementById('tempoFinal').innerHTML += minutosT + ':'; |
||
69 | document.getElementById('tempoFinal').innerHTML += segundosT; |
||
70 | } |
||
71 | |||
72 | timer = setInterval(showRemaining, 1000); |
||
73 | |||
74 | </script> |
||
75 | <%--<div id="tempoFinal" align="right" style="font-size: 40px; font-weight:bold; position:fixed; left:85%;"></div>--%> |
||
76 | <%--O de cima fica flutuante com o scroll--%> |
||
77 | |||
78 | <div id="tempoFinal" align="right" style="font-size: 40px; font-weight:bold;"></div> |
||
79 | |||
80 | |||
81 | <table class="form"> |
||
82 | <tr> |
||
83 | <th><bean:message key="assessment.answer.form.title"/></th> |
||
84 | <td> |
||
85 | <%--<html:hidden name="AssessmentsForm" property="assessmentView.title"/>--%> |
||
86 | <bean:write name="AssessmentsForm" property="assessmentView.title"/> |
||
87 | </td> |
||
88 | </tr> |
||
89 | <tr> |
||
90 | <th><bean:message key="assessment.answer.form.courseUnit"/></th> |
||
91 | <td> |
||
92 | <%--<html:hidden name="AssessmentsForm" property="assessmentView.courseUnit.name"/>--%> |
||
93 | <bean:write name="AssessmentsForm" property="assessmentView.courseUnit.name"/> |
||
94 | </td> |
||
95 | </tr> |
||
96 | <tr> |
||
97 | <th><bean:message key="assessment.answer.form.course"/></th> |
||
98 | <td> |
||
99 | <%--<html:hidden name="AssessmentsForm" property="assessmentView.courseUnit.courseName"/>--%> |
||
100 | <bean:write name="AssessmentsForm" property="assessmentView.courseUnit.courseName"/> |
||
101 | </td> |
||
102 | </tr> |
||
103 | <tr> |
||
104 | <th><bean:message key="assessment.answer.form.owner"/></th> |
||
105 | <td> |
||
106 | <%--<html:hidden name="AssessmentsForm" property="assessmentView.owner.name"/>--%> |
||
107 | <bean:write name="AssessmentsForm" property="assessmentView.owner.name"/> |
||
108 | <br><br> |
||
109 | </td> |
||
110 | </tr> |
||
111 | <tr> |
||
112 | <th></th> |
||
113 | <td colspan="2"> |
||
114 | <nested:iterate id="questionView" name="AssessmentsForm" property="assessmentView.questions" indexId="qId"> |
||
115 | <input type="hidden" name="itemsListSize${qId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().size()%>"/> |
||
116 | <input type="hidden" name="candidatesLabelsSize${qId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getPossibleLabels().size()%>"/> |
||
117 | <% int itemsListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().size(); |
||
118 | String itemsListSize = String.valueOf(itemsListSizeInt) ; |
||
119 | sess.put("itemsListSize"+qId, (java.io.Serializable) itemsListSize); |
||
120 | sess.serialize(request,response); |
||
121 | // |
||
122 | int candidatesLabelsSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getPossibleLabels().size(); |
||
123 | String candidatesLabelsSize = String.valueOf(candidatesLabelsSizeInt) ; |
||
124 | sess.put("candidatesLabelsSize"+qId, (java.io.Serializable) candidatesLabelsSize); |
||
125 | sess.serialize(request,response); |
||
126 | |||
127 | //adicionar a lista de nomes |
||
128 | List<String> nomesSessao2 = (List<String>) sess.get("nomesSessao"); |
||
129 | nomesSessao2.add("itemsListSize"+qId); |
||
130 | nomesSessao2.add("candidatesLabelsSize"+qId); |
||
131 | sess.put("nomesSessao", (java.io.Serializable) nomesSessao2); |
||
132 | sess.serialize(request,response); |
||
133 | %> |
||
134 | <nested:hidden property="id"/> |
||
135 | |||
136 | <table id="questionTableAssessment"> |
||
137 | <tr> |
||
138 | <td colspan="200" class="questionLabelCell"> |
||
139 | <nested:hidden property="textpt"/> |
||
140 | <nested:hidden property="type"/> |
||
141 | <nested:write property="textpt"/> |
||
142 | <%--Parte da imagem, o <td> tem de ca ficar na mesma--%> |
||
143 | <nested:notEqual name="questionView" property="imageId" value="0"> |
||
144 | <br><br> |
||
145 | <table cellpadding="0" cellspacing="0" border="0"> |
||
146 | <tr> <td> |
||
147 | <img width="800px" height="800px" src="<%=request.getContextPath()%>/imageStream/${questionView.imageId}"> |
||
148 | </td></tr> |
||
149 | </table> |
||
150 | </nested:notEqual> |
||
151 | </td> |
||
152 | </tr> |
||
153 | |||
154 | <nested:equal property="type" value="text"> |
||
155 | <tr> |
||
156 | <td> |
||
157 | <nested:iterate id="item" property="questionItems" indexId="iId"> |
||
158 | <input type="hidden" name="candidatesListSize${qId}${iId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size()%>"/> |
||
159 | <% int candidatesListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size(); |
||
160 | String candidatesListSize = String.valueOf(candidatesListSizeInt) ; |
||
161 | sess.put("candidatesListSize"+qId+iId, (java.io.Serializable) candidatesListSize); |
||
162 | sess.serialize(request,response); |
||
163 | //adicionar a lista de nomes |
||
164 | List<String> nomesSessao3 = (List<String>) sess.get("nomesSessao"); |
||
165 | nomesSessao3.add("candidatesListSize"+qId+iId); |
||
166 | sess.put("nomesSessao", (java.io.Serializable) nomesSessao3); |
||
167 | sess.serialize(request,response); |
||
168 | %> |
||
169 | <nested:iterate property="possibleAnswers"> |
||
170 | <nested:hidden property="id"/> |
||
171 | </nested:iterate> |
||
172 | <logic:iterate id="c" name="item" property="possibleAnswers"> |
||
173 | <nested:textarea property="textareaValue" styleId="assessmentTextarea"/> |
||
174 | </logic:iterate> |
||
175 | </nested:iterate> |
||
176 | </td> |
||
177 | </tr> |
||
178 | </nested:equal> |
||
179 | |||
180 | <nested:equal property="type" value="practical"> |
||
181 | <tr> |
||
182 | <td> |
||
183 | <nested:iterate id="item" property="questionItems" indexId="iId"> |
||
184 | <input type="hidden" name="candidatesListSize${qId}${iId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size()%>"/> |
||
185 | <% int candidatesListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size(); |
||
186 | String candidatesListSize = String.valueOf(candidatesListSizeInt) ; |
||
187 | sess.put("candidatesListSize"+qId+iId, (java.io.Serializable) candidatesListSize); |
||
188 | sess.serialize(request,response); |
||
189 | //adicionar a lista de nomes |
||
190 | List<String> nomesSessao3 = (List<String>) sess.get("nomesSessao"); |
||
191 | nomesSessao3.add("candidatesListSize"+qId+iId); |
||
192 | sess.put("nomesSessao", (java.io.Serializable) nomesSessao3); |
||
193 | sess.serialize(request,response); |
||
194 | %> |
||
195 | <nested:iterate property="possibleAnswers"> |
||
196 | <nested:hidden property="id"/> |
||
197 | </nested:iterate> |
||
198 | <logic:iterate id="c" name="item" property="possibleAnswers"> |
||
199 | <bean:message key="assessment.answer.form.uploadFile"/> |
||
200 | <nested:file property="uploadFile"/> |
||
201 | </logic:iterate> |
||
202 | </nested:iterate> |
||
203 | </td> |
||
204 | </tr> |
||
205 | </nested:equal> |
||
206 | |||
207 | <nested:equal property="type" value="radio"> |
||
208 | <nested:iterate id="item" property="questionItems" indexId="iId"> |
||
209 | <input type="hidden" name="candidatesListSize${qId}${iId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size()%>"/> |
||
210 | <% int candidatesListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size(); |
||
211 | String candidatesListSize = String.valueOf(candidatesListSizeInt) ; |
||
212 | sess.put("candidatesListSize"+qId+iId, (java.io.Serializable) candidatesListSize); |
||
213 | sess.serialize(request,response); |
||
214 | //adicionar a lista de nomes |
||
215 | List<String> nomesSessao3 = (List<String>) sess.get("nomesSessao"); |
||
216 | nomesSessao3.add("candidatesListSize"+qId+iId); |
||
217 | sess.put("nomesSessao", (java.io.Serializable) nomesSessao3); |
||
218 | sess.serialize(request,response); |
||
219 | %> |
||
220 | <nested:iterate property="possibleAnswers"> |
||
221 | <nested:hidden property="id"/> |
||
222 | <nested:hidden property="textpt"/> |
||
223 | </nested:iterate> |
||
224 | <logic:iterate id="c" name="item" property="possibleAnswers"> |
||
225 | <tr> |
||
226 | <td> |
||
227 | <nested:radio property="radioValue" value="${c.id}"/> |
||
228 | <nested:write name="c" property="textpt"/> |
||
229 | </td> |
||
230 | </tr> |
||
231 | </logic:iterate> |
||
232 | </nested:iterate> |
||
233 | </nested:equal> |
||
234 | |||
235 | <nested:equal property="type" value="check"> |
||
236 | <nested:iterate id="item" property="questionItems" indexId="iId"> |
||
237 | <input type="hidden" name="candidatesListSize${qId}${iId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size()%>"/> |
||
238 | <% int candidatesListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size(); |
||
239 | String candidatesListSize = String.valueOf(candidatesListSizeInt) ; |
||
240 | sess.put("candidatesListSize"+qId+iId, (java.io.Serializable) candidatesListSize); |
||
241 | sess.serialize(request,response); |
||
242 | //adicionar a lista de nomes |
||
243 | List<String> nomesSessao3 = (List<String>) sess.get("nomesSessao"); |
||
244 | nomesSessao3.add("candidatesListSize"+qId+iId); |
||
245 | sess.put("nomesSessao", (java.io.Serializable) nomesSessao3); |
||
246 | sess.serialize(request,response); |
||
247 | %> |
||
248 | <nested:iterate property="possibleAnswers"> |
||
249 | <tr> |
||
250 | <td> |
||
251 | <nested:hidden property="id"/> |
||
252 | <nested:hidden property="textpt"/> |
||
253 | <nested:checkbox property="checkbox"/> |
||
254 | <nested:write property="textpt"/> |
||
255 | </td> |
||
256 | </tr> |
||
257 | </nested:iterate> |
||
258 | </nested:iterate> |
||
259 | </nested:equal> |
||
260 | |||
261 | <nested:equal property="type" value="matrix"> |
||
262 | <tr> |
||
263 | <td></td> |
||
264 | <nested:iterate property="possibleLabels"> |
||
265 | <td class="candidateCell"> |
||
266 | <nested:hidden property="textpt"/> |
||
267 | <nested:write property="textpt"/> |
||
268 | </td> |
||
269 | </nested:iterate> |
||
270 | </tr> |
||
271 | <input type="hidden" name="teste_row_hidden"/> |
||
272 | <nested:iterate id="item" property="questionItems" indexId="iId"> |
||
273 | <input type="hidden" name="candidatesListSize${qId}${iId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size()%>"/> |
||
274 | <% int candidatesListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size(); |
||
275 | String candidatesListSize = String.valueOf(candidatesListSizeInt) ; |
||
276 | sess.put("candidatesListSize"+qId+iId, (java.io.Serializable) candidatesListSize); |
||
277 | sess.serialize(request,response); |
||
278 | //adicionar a lista de nomes |
||
279 | List<String> nomesSessao3 = (List<String>) sess.get("nomesSessao"); |
||
280 | nomesSessao3.add("candidatesListSize"+qId+iId); |
||
281 | sess.put("nomesSessao", (java.io.Serializable) nomesSessao3); |
||
282 | sess.serialize(request,response); |
||
283 | %> |
||
284 | <nested:iterate property="possibleAnswers"> |
||
285 | <nested:hidden property="id"/> |
||
286 | <nested:hidden property="textpt"/> |
||
287 | </nested:iterate> |
||
288 | <tr onmouseover="this.style.backgroundColor='#aFaFaF'" onmouseout="this.style.backgroundColor='#F7F7F7'"> |
||
289 | <td> |
||
290 | <nested:hidden property="textpt"/> |
||
291 | <nested:write property="textpt"/> |
||
292 | </td> |
||
293 | <logic:iterate id="c" name="item" property="possibleAnswers"> |
||
294 | <td class="candidateCell"> |
||
295 | <nested:radio property="radioValue" value="${c.id}"/> |
||
296 | </td> |
||
297 | </logic:iterate> |
||
298 | </tr> |
||
299 | </nested:iterate> |
||
300 | </nested:equal> |
||
301 | </table> |
||
302 | <br><br> |
||
303 | </nested:iterate> |
||
304 | </td> |
||
305 | </tr> |
||
306 | </table> |
||
307 | |||
308 | <hr> |
||
309 | <input type="button" value="<bean:message key="confirm"/>" |
||
310 | onclick="set(this.form,'answer');this.form.submit();"> |
||
311 | </html:form> |