Subversion Repositories bacoAlunos

Rev

Rev 1814 | 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>