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 import="pt.estgp.estgweb.domain.UserSessionImpl" %>
2
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %>
3
<%@ page import="pt.estgp.estgweb.web.form.assessments.AssessmentsForm" %>
4
<%@ page import="pt.estgp.estgweb.Globals" %>
5
<%@ page import="java.util.ArrayList" %>
6
<%@ page import="java.util.List" %>
7
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
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
<jomm:messages/>
18
<html:errors/>
19
<%
20
    String fromAction = "";
21
    String from = "";
22
    String user = "";
23
    if (request.getParameter("from") != null)
24
    {
25
        user = "/user";
26
        fromAction = "From" + request.getParameter("from");
27
        from = "?from=" + request.getParameter("from");
28
    }
29
    request.setAttribute("from", from);
30
    request.setAttribute("user", user);
31
    request.setAttribute("fromAction", fromAction);
32
 
33
%>
34
<html:form action="${user}/submitAssessment${fromAction}${from}" enctype="multipart/form-data" >
35
<html:hidden property="assessmentView.id"/>
36
<html:hidden property="assessmentView.deletedQuestions"/>
37
<html:hidden property="assessmentView.deletedItems"/>
38
<html:hidden property="assessmentView.deletedCandidates"/>
39
<html:hidden property="counter"/>
40
<%--<html:hidden property="bigImageStr"/>--%>
41
<input type="hidden" name="dispatch">
42
<input type="hidden" name="questionId"/>
43
<input type="hidden" name="itemId"/>
44
<input type="hidden" name="candidateId"/>
45
 
46
<table class="form">
47
    <tr>
48
        <th>
49
            <bean:message key="assessment.submit.form.title"/>
50
            *
51
        </th>
52
        <td>
53
            <html:text property="assessmentView.title"/>
54
        </td>
55
    </tr>
56
    <tr>
57
        <th>
58
            <bean:message key="assessment.submit.form.type"/>
59
        </th>
60
        <td>
61
            <logic:greaterThan name="AssessmentsForm" property="assessmentView.id" value="0">
62
                <html:hidden property="assessmentView.type"/>
63
                <bean:message key="assessments.type.${AssessmentsForm.assessmentView.type}"/>
64
            </logic:greaterThan>
65
 
66
            <logic:lessEqual name="AssessmentsForm" property="assessmentView.id" value="0">
67
            <html:select property="assessmentView.type" onchange="set(this.form,'changeAssessmentType');this.form.submit();">
68
                <logic:present name="AssessmentsForm" property="assessmentTypes">
69
                    <logic:iterate id="type" name="AssessmentsForm" property="assessmentTypes">
70
                        <html:option value="${type}">
71
                            <bean:message key="assessments.type.${type}"/>
72
                        </html:option>
73
                    </logic:iterate>
74
                </logic:present>
75
            </html:select>
76
            </logic:lessEqual>
77
        </td>
78
    </tr>
79
    <tr>
80
        <th>
81
            <bean:message key="assessment.submit.form.evaluationtime"/>
82
        </th>
83
        <td>
84
            <html:select property="assessmentView.evaluationTime">
85
                <logic:present name="AssessmentsForm" property="assessmentEvaluationTime">
86
                    <logic:iterate id="type" name="AssessmentsForm" property="assessmentEvaluationTime">
87
                        <html:option value="${type}">
88
                            <bean:message key="assessments.evaluation.time.${type}"/>
89
                        </html:option>
90
                    </logic:iterate>
91
                </logic:present>
92
            </html:select>
93
        </td>
94
    </tr>
95
 
96
    <tr>
97
        <th>
98
            <bean:message key="assessment.submit.form.courseUnit"/>
99
        </th>
100
        <td>
101
            <%if(pt.estgp.estgweb.utils.DatesUtils.getSemestre().equals("S1")) { %>
102
 
103
                <html:select property="courseUnitId">
104
                       <logic:iterate id="unit" name="UserSession" property="user.teachedUnitsCurrentYearViewS1" type="pt.estgp.estgweb.domain.CourseUnit">
105
                            <html:option value="${unit.id}">
106
                                ${unit.name}
107
                            </html:option>
108
                        </logic:iterate>
109
                </html:select>
1040 jmachado 110
            <% } else if(pt.estgp.estgweb.utils.DatesUtils.getSemestre().equals("S2")) {%>
808 jmachado 111
                <html:select property="courseUnitId">
112
                       <logic:iterate id="unit" name="UserSession" property="user.teachedUnitsCurrentYearViewS2" type="pt.estgp.estgweb.domain.CourseUnit">
113
                            <html:option value="${unit.id}">
114
                                ${unit.name}
115
                            </html:option>
116
                        </logic:iterate>
117
                </html:select>
118
            <% } %>
1040 jmachado 119
 
120
            <% //TODO FALTA AQUI OS TRIMESTRES S1 S2 T1 T2 T3 T4%>
808 jmachado 121
        </td>
122
    </tr>
123
 
124
 
125
 
126
 
127
</table>
128
 
129
<br>
130
<bean:message key="assessment.submit.form.questions"/>
131
 
132
<hr>
133
<input type="hidden" name="questionsListSize" value="<%=((AssessmentsForm)request.getAttribute("AssessmentsForm")).getAssessmentView().getQuestions().size()%>">
134
<%  UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response);
135
        int questionListSizeInt = ((AssessmentsForm)request.getAttribute("AssessmentsForm")).getAssessmentView().getQuestions().size();
136
        String questionListSize = String.valueOf(questionListSizeInt) ;
137
        sess.put("questionsListSize", (java.io.Serializable) questionListSize);
138
        sess.serialize(request,response);
139
        //adicionar a lista de nomes
140
        List<String> nomesSessao = (List<String>) sess.get("nomesSessao");
141
        if(nomesSessao==null)
142
        {
143
            nomesSessao = new ArrayList<String>();
144
        }
145
        nomesSessao.add("questionsListSize");
146
        sess.put("nomesSessao", (java.io.Serializable) nomesSessao);
147
        sess.serialize(request,response);
148
%>
149
<nested:iterate id="questionView" name="AssessmentsForm" property="assessmentView.questions" indexId="qId">
150
<table class="form">
151
    <input type="hidden" name="itemsListSize${qId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().size()%>"/>
152
    <input type="hidden" name="candidatesLabelsSize${qId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getPossibleLabels().size()%>"/>
153
    <%  int itemsListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().size();
154
        String itemsListSize = String.valueOf(itemsListSizeInt) ;
155
        sess.put("itemsListSize"+qId, (java.io.Serializable) itemsListSize);
156
        sess.serialize(request,response);
157
        //
158
        int candidatesLabelsSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getPossibleLabels().size();
159
        String candidatesLabelsSize = String.valueOf(candidatesLabelsSizeInt) ;
160
        sess.put("candidatesLabelsSize"+qId, (java.io.Serializable) candidatesLabelsSize);
161
        sess.serialize(request,response);
162
 
163
        //adicionar a lista de nomes
164
        List<String> nomesSessao2 = (List<String>) sess.get("nomesSessao");
165
        nomesSessao2.add("itemsListSize"+qId);
166
        nomesSessao2.add("candidatesLabelsSize"+qId);
167
        sess.put("nomesSessao", (java.io.Serializable) nomesSessao2);
168
        sess.serialize(request,response);
169
    %>
170
    <nested:hidden property="id"/>
171
    <nested:hidden property="type"/>
172
    <tr>
173
        <th>
174
            <a name="question${qId}"></a>
175
            <a name="question${questionView.id}"></a>
176
            <bean:message key="assessment.submit.form.delete.question"/>
177
        </th>
178
        <td>
179
            <input type="button" class="removeButton" value=""
180
                    onclick="AssessmentsForm.questionId.value='${qId}';confirmAction('Tem a certeza que deseja apagar?',this.form,'removeQuestion');"/>
181
        </td>
182
    </tr>
183
    <tr>
184
        <th>
185
            <bean:message key="assessment.submit.form.quotation.question"/>
186
        </th>
187
        <td>
188
            <nested:text property="quotation"/>
189
        </td>
190
    </tr>
191
 
192
 
193
    <tr>
194
        <th>
195
            <bean:message key="assessment.submit.form.question.image"/>
196
        </th>
197
        <td>
198
            <logic:equal name="questionView" property="imageId" value="0">
199
                <%--<input class="file" id="bigImageIdT" name="bigImageT" type="file" value=""/>--%>
200
            <nested:file property="bigImage"/>
201
            <%--<nested:file styleClass="file" styleId="bigImageIdT" property="bigImageT" value="teste"/>--%>
202
 
203
                <bean:message key="announcement.image.max"/>
204
                <%=Globals.MAX_BIGMAGE_FILE_SIZE_KBYTES + "kb"%>
205
            </logic:equal>
206
            <logic:notEqual name="questionView" property="imageId" value="0">
207
                <table cellpadding="0" cellspacing="0" border="0">
208
                    <tr>
209
                        <td>
210
                            <nested:file property="bigImage"/>
211
                            <bean:message key="announcement.image.max"/>
212
                            <%=Globals.MAX_BIGMAGE_FILE_SIZE_KBYTES + "kb"%>
213
                        </td>
214
                        <td>
215
                            <img width="100px" src="<%=request.getContextPath()%>/imageStream/${questionView.imageId}">
216
                        </td>
217
                    </tr>
218
                </table>
219
            </logic:notEqual>
220
        </td>
221
    </tr>
222
 
223
    <tr>
224
        <th>
225
            <bean:message key="assessment.submit.form.question"/>
226
        </th>
227
        <td>
228
            <%--<nested:text property="textpt"/>--%>
229
            <nested:textarea property="textpt" styleId="surveyTextarea"/>
230
        </td>
231
    </tr>
232
    <nested:equal name="questionView" value="matrix" property="type">
233
    <tr>
234
        <th></th>
235
        <td>
236
            <table>
237
                <tr>
238
                    <td></td>
239
                    <nested:iterate property="possibleLabels" indexId="cId">
240
                    <td>
241
                        <nested:text property="textpt" styleId="inputVertical"/>
242
                        <input type="button" class="removeButton" value=""
243
                               onclick="AssessmentsForm.questionId.value='${qId}';
244
                                        AssessmentsForm.candidateId.value='${cId}';
245
                                        set(this.form,'removeCandidateOption');
246
                                        AssessmentsForm.action = AssessmentsForm.action+'#question${qId}';
247
                                        this.form.submit();"/>
248
                    </td>
249
                    </nested:iterate>
250
                </tr>
251
                <nested:iterate property="questionItems" indexId="iId">
252
                <input type="hidden" name="candidatesListSize${qId}${iId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size()%>"/>
253
                <%  int candidatesListSizeInt = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size();
254
                    String candidatesListSize = String.valueOf(candidatesListSizeInt) ;
255
                    sess.put("candidatesListSize"+qId+iId, (java.io.Serializable) candidatesListSize);
256
                    sess.serialize(request,response);
257
                    //adicionar a lista de nomes
258
                    List<String> nomesSessao3 = (List<String>) sess.get("nomesSessao");
259
                    nomesSessao3.add("candidatesListSize"+qId+iId);
260
                    sess.put("nomesSessao", (java.io.Serializable) nomesSessao3);
261
                    sess.serialize(request,response);
262
                %>
263
 
264
                <tr>
265
                    <td>
266
                        <nested:hidden property="id"/>
267
                        <nested:text property="textpt" styleId="inputHorizontal"/>
268
                        <input type="button" class="removeButton" value=""
269
                               onclick="AssessmentsForm.questionId.value='${qId}';
270
                                        AssessmentsForm.itemId.value='${iId}';
271
                                        set(this.form,'removeItemOption');
272
                                        AssessmentsForm.action = AssessmentsForm.action+'#question${qId}';
273
                                        this.form.submit();"/>
274
                    </td>
275
                    <nested:iterate property="possibleAnswers" indexId="cId">
276
                    <td align="left">
277
                        <nested:hidden property="id"/>
278
                        <img border="0" src="<%=request.getContextPath()%>/imgs/radiobox.png"/>
279
 
280
                            <nested:radio property="correct" value="true" onchange="AssessmentsForm.questionId.value='${qId}';AssessmentsForm.itemId.value='${iId}';AssessmentsForm.candidateId.value='${cId}';set(this.form,'updateRadioBox');this.form.submit();"/>
281
                            <bean:message key="assessment.submit.form.question.correct"/>
282
                    </td>
283
                    </nested:iterate>
284
                </tr>
285
                </nested:iterate>
286
            </table>
287
        </td>
288
    </tr>
289
    <tr>
290
        <th></th>
291
        <td>
292
            <input type="button" value="<bean:message key="assessment.submit.form.add.hoption"/>"
293
                   onclick="AssessmentsForm.questionId.value='${qId}';
294
                            set(this.form,'addItemOption');
295
                            AssessmentsForm.action = AssessmentsForm.action+'#question${qId}';
296
                            this.form.submit();">
297
                <input type="button" value="<bean:message key="assessment.submit.form.add.voption"/>"
298
                       onclick="AssessmentsForm.questionId.value='${qId}';
299
                                set(this.form,'addCandidateOption');
300
                                AssessmentsForm.action = AssessmentsForm.action+'#question${qId}';
301
                                this.form.submit();">
302
        </td>
303
    </tr>
304
    </nested:equal>
305
 
306
    <nested:notEqual name="questionView" value="matrix" property="type">
307
    <nested:iterate property="questionItems" indexId="iId">
308
    <input type="hidden" name="candidatesListSize${qId}${iId}" value="<%=AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size()%>"/>
309
    <%
310
        int candidatesListSizeInt2 = AssessmentsForm.getAssessmentView().getQuestions().get(qId).getQuestionItems().get(iId).getPossibleAnswers().size();
311
        String candidatesListSize2 = String.valueOf(candidatesListSizeInt2) ;
312
        sess.put("candidatesListSize"+qId+iId, (java.io.Serializable) candidatesListSize2);
313
        sess.serialize(request,response);
314
        //adicionar a lista de nomes
315
        List<String> nomesSessao4 = (List<String>) sess.get("nomesSessao");
316
        //if(nomesSessao3.contains(""))
317
        nomesSessao4.add("candidatesListSize"+qId+iId);
318
        sess.put("nomesSessao", (java.io.Serializable) nomesSessao4);
319
        sess.serialize(request,response);
320
    %>
321
    <nested:hidden property="id"/>
322
        <nested:iterate property="possibleAnswers" indexId="cId">
323
        <nested:hidden property="id"/>
324
        <nested:notEqual name="questionView" value="text" property="type">
325
        <nested:notEqual name="questionView" value="practical" property="type">
326
 
327
        <tr>
328
            <th align="right">
329
                <nested:equal name="questionView" value="radio" property="type">
330
                    <img border="0" src="<%=request.getContextPath()%>/imgs/radiobox.png"/>
331
                </nested:equal>
332
                <nested:equal name="questionView" value="check" property="type">
333
                    <img border="0" src="<%=request.getContextPath()%>/imgs/checkbox.png"/>
334
                </nested:equal>
335
            </th>
336
            <td>
337
                <nested:text property="textpt" styleId="inputHorizontal"/>
338
                <input type="button" class="removeButton" value=""
339
                       onclick="AssessmentsForm.questionId.value='${qId}';
340
                                AssessmentsForm.candidateId.value='${cId}';
341
                                set(this.form,'removeCandidateOption');
342
                                AssessmentsForm.action = AssessmentsForm.action+'#question${qId}';
343
                                this.form.submit();"/>
344
 
345
                    <nested:equal name="questionView" value="radio" property="type">
346
                        <nested:radio property="correct" value="true" onchange="AssessmentsForm.questionId.value='${qId}';AssessmentsForm.candidateId.value='${cId}';set(this.form,'updateRadioBox');this.form.submit();"/>
347
                    </nested:equal>
348
                    <nested:equal name="questionView" value="check" property="type">
349
                        <nested:checkbox property="correct"/>
350
                    </nested:equal>
351
                    <bean:message key="assessment.submit.form.question.correct"/>
352
            </td>
353
        </tr>
354
 
355
        </nested:notEqual>
356
        </nested:notEqual>
357
        </nested:iterate>
358
    </nested:iterate>
359
 
360
    <nested:notEqual name="questionView" value="text" property="type">
361
    <nested:notEqual name="questionView" value="practical" property="type">
362
    <tr>
363
        <th></th>
364
        <td>
365
            <input type="button" value="<bean:message key="assessment.submit.form.add.hoption"/>"
366
                   onclick="AssessmentsForm.questionId.value='${qId}';
367
                            set(this.form,'addCandidateOption');
368
                            AssessmentsForm.action = AssessmentsForm.action+'#question${qId}';
369
                            this.form.submit();">
370
        </td>
371
    </tr>
372
    </nested:notEqual>
373
    </nested:notEqual>
374
    </nested:notEqual>
375
</table>
376
</nested:iterate>
377
 
378
<br>
379
<br>
380
 
381
<bean:message key="assessment.submit.form.add.question"/>
382
 
383
<logic:equal value="self-evaluation" property="assessmentView.type" name="AssessmentsForm">
384
    <html:select property="questionType">
385
        <logic:present name="AssessmentsForm" property="assessmentQuestionTypesSelfEvaluation">
386
            <logic:iterate id="item" name="AssessmentsForm" property="assessmentQuestionTypesSelfEvaluation">
387
                <html:option value="${item}">
388
                    <bean:message key="assessments.question.type.${item}"/>
389
                </html:option>
390
            </logic:iterate>
391
        </logic:present>
392
    </html:select>
393
</logic:equal>
394
<logic:equal value="evaluation" property="assessmentView.type" name="AssessmentsForm">
395
    <html:select property="questionType">
396
        <logic:present name="AssessmentsForm" property="assessmentQuestionTypes">
397
            <logic:iterate id="item" name="AssessmentsForm" property="assessmentQuestionTypes">
398
                <html:option value="${item}">
399
                    <bean:message key="assessments.question.type.${item}"/>
400
                </html:option>
401
            </logic:iterate>
402
        </logic:present>
403
    </html:select>
404
</logic:equal>
405
 
406
<input type="button" value="<bean:message key="add"/>"
407
       onclick="set(this.form,'addQuestion');
408
                AssessmentsForm.action = AssessmentsForm.action+'#question<%=AssessmentsForm.getCounter()%>';
409
                this.form.submit();">
410
 
411
<hr>
412
<input type="button" value="<bean:message key="confirm"/>"
413
       onclick="set(this.form,'save');this.form.submit();">
414
</html:form>