Subversion Repositories bacoAlunos

Rev

Rev 1306 | 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" %>
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>