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