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.UserSession" %> |
2 | <%@ page import="pt.estgp.estgweb.domain.views.AssessmentResponseView" %> |
||
3 | <%@ page import="pt.estgp.estgweb.domain.views.AssessmentView" %> |
||
4 | <%@ page import="pt.estgp.estgweb.domain.views.CourseUnitView" %> |
||
5 | <%@ page import="pt.estgp.estgweb.services.assessments.AssessmentStatusEnum" %> |
||
6 | <%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %> |
||
7 | <%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
||
8 | <%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
||
9 | <%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
||
10 | <%@ page import="java.util.ArrayList" %> |
||
11 | <%@ page import="java.util.List" %> |
||
12 | <%@ page import="java.util.HashSet" %> |
||
13 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
||
14 | <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
||
15 | <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
||
16 | <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
||
17 | <%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
||
18 | <%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
||
19 | <%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
||
20 | |||
21 | <% |
||
22 | IServiceManager sm = ServiceManager.getInstance(); |
||
23 | String[] names = new String[]{}; |
||
24 | Object[] args = new String[]{}; |
||
25 | |||
26 | List<AssessmentView> assessmentViews = new ArrayList<AssessmentView>(); |
||
27 | List<AssessmentResponseView> responseViews = new ArrayList<AssessmentResponseView>(); |
||
28 | List<CourseUnitView> courseUnitViews = new ArrayList<CourseUnitView>(); |
||
29 | List<String> courseUnitViewsIds = new ArrayList<String>(); |
||
30 | UserSession userSession = UserSessionProxy.loadUserSession(request, response); |
||
31 | if(userSession.getUser().isTeacher()) |
||
32 | { //owned assessments |
||
33 | assessmentViews = (List<AssessmentView>) sm.execute(RequestUtils.getRequester(request,response),"LoadOwnedAssessments", args, names); |
||
34 | } |
||
35 | else |
||
36 | { |
||
37 | if(userSession.getUser().isStudent()) |
||
38 | { //Aqui vai buscar as respostas do aluno...cada resposta tem a prova |
||
39 | responseViews = (List<AssessmentResponseView>) sm.execute(RequestUtils.getRequester(request,response),"LoadOwnedResponses", args, names); |
||
40 | for(AssessmentResponseView r : responseViews) |
||
41 | { |
||
42 | if(!courseUnitViewsIds.contains(String.valueOf(r.getAssessment().getCourseUnit().getId()))) |
||
43 | { |
||
44 | courseUnitViewsIds.add(String.valueOf(r.getAssessment().getCourseUnit().getId())); |
||
45 | System.out.println(String.valueOf(r.getAssessment().getCourseUnit().getId())); |
||
46 | } |
||
47 | } |
||
48 | //adicionar a lista de courseUnitViews |
||
49 | for(String c : courseUnitViewsIds) |
||
50 | { |
||
51 | for(AssessmentResponseView r : responseViews) |
||
52 | { |
||
53 | if(Long.parseLong(c) == r.getAssessment().getCourseUnit().getId()) |
||
54 | { |
||
55 | courseUnitViews.add(r.getAssessment().getCourseUnit()); |
||
56 | break; |
||
57 | } |
||
58 | } |
||
59 | } |
||
60 | |||
61 | } |
||
62 | } |
||
63 | request.setAttribute("AssessmentViews", assessmentViews); |
||
64 | request.setAttribute("ResponseViews", responseViews); |
||
65 | request.setAttribute("CourseUnitViews", courseUnitViews); |
||
66 | %> |
||
67 | |||
68 | <jomm:messages/> |
||
69 | <html:errors/> |
||
70 | <% |
||
71 | if(userSession.getUser().isTeacher()) |
||
72 | { |
||
73 | %> |
||
74 | <% |
||
75 | if(assessmentViews.size() > 0) |
||
76 | { |
||
77 | %> |
||
78 | <table class="dataTable"> |
||
79 | <tr> |
||
80 | <th><bean:message key="assessment.list.form.title"/></th> |
||
81 | <th><bean:message key="assessment.list.form.type"/></th> |
||
82 | <th><bean:message key="assessment.list.form.evaluationtime"/></th> |
||
83 | <th><bean:message key="assessment.list.form.courseUnit"/></th> |
||
84 | <th><bean:message key="assessment.list.form.year"/></th> |
||
85 | <th><bean:message key="assessment.list.form.semester"/></th> |
||
86 | <th><bean:message key="assessment.list.form.assessment.date"/></th> |
||
87 | <%--<th><bean:message key="assessment.list.form.created.by"/></th>--%> |
||
88 | <th><bean:message key="assessment.list.form.number.responses"/></th> |
||
89 | <th><bean:message key="assessment.list.form.number.evaluated"/></th> |
||
90 | <%--<th><bean:message key="assessment.list.form.status"/></th>--%> |
||
91 | </tr> |
||
92 | |||
93 | <logic:iterate id="assessmentView" name="AssessmentViews" type="pt.estgp.estgweb.domain.views.AssessmentView"> |
||
94 | <bean:define id="av" name="assessmentView" type="pt.estgp.estgweb.domain.views.AssessmentView"/> |
||
95 | <tr> |
||
96 | <td><bean:write name="assessmentView" property="title"/></td> |
||
97 | <td><bean:message key="assessments.type.${assessmentView.type}"/></td> |
||
98 | <td><bean:message key="assessments.evaluation.time.${assessmentView.evaluationTime}"/></td> |
||
99 | <td><bean:write name="assessmentView" property="courseUnit.name"/></td> |
||
100 | <td><bean:write name="assessmentView" property="year"/></td> |
||
101 | <td><bean:message key="courseunit.${assessmentView.semester}"/></td> |
||
102 | <logic:equal name="assessmentView" property="type" value="evaluation"> |
||
103 | <td><bean:write name="assessmentView" property="formatedStartDate"/></td> |
||
104 | </logic:equal> |
||
105 | <logic:equal name="assessmentView" property="type" value="self-evaluation"> |
||
106 | <td> |
||
107 | <logic:notEmpty name="assessmentView" property="formatedStartDate"> |
||
108 | <bean:write name="assessmentView" property="formatedStartDate"/> |
||
109 | a <bean:write name="assessmentView" property="formatedEndDate"/> |
||
110 | </logic:notEmpty> |
||
111 | </td> |
||
112 | </logic:equal> |
||
113 | <%--<td><bean:write name="assessmentView" property="owner.username"/></td>--%> |
||
114 | <td><bean:write name="assessmentView" property="numberOfResponses"/>/<bean:write name="assessmentView" property="numberTotalOfResponses"/> |
||
115 | <logic:equal name="assessmentView" property="numberOfResponses" value="0"> |
||
116 | <html:link action="/user/startEditScheduleAssessmentFromServiceZone.do?id=${assessmentView.id}"> |
||
117 | <bean:message key="assessment.list.form.edit.inscriptions"/> |
||
118 | </html:link> |
||
119 | </logic:equal> |
||
120 | </td> |
||
121 | |||
122 | <td><bean:write name="assessmentView" property="numberOfCorrected"/>/<bean:write name="assessmentView" property="numberOfResponses"/></td> |
||
123 | <%--<td><bean:write name="assessmentView" property="statusPercentage"/><bean:message key="assessment.list.form.percentage.symbol"/></td>--%> |
||
124 | <% |
||
125 | if(av.getStatus() != null && av.getStatus() == AssessmentStatusEnum.STATUS_STOPPED) |
||
126 | { |
||
127 | %> |
||
128 | <logic:equal name="assessmentView" property="numberOfResponses" value="0"> |
||
129 | <td><html:link action="/user/startEditAssessmentFromServiceZone.do?id=${assessmentView.id}"><bean:message key="assessment.list.form.option.edit"/></html:link></td> |
||
130 | </logic:equal> |
||
131 | <td><html:link action="/user/startCloneAssessmentFromServiceZone.do?id=${assessmentView.id}"><bean:message key="assessment.list.form.option.clone"/></html:link></td> |
||
132 | <logic:equal name="assessmentView" property="numberOfResponses" value="0"> |
||
133 | <td><html:link action="/user/startScheduleAssessmentFromServiceZone.do?id=${assessmentView.id}"><bean:message key="assessment.list.form.option.schedule"/></html:link></td> |
||
134 | </logic:equal> |
||
135 | <logic:notEqual name="assessmentView" property="numberOfResponses" value="0"> |
||
136 | <logic:notMatch name="assessmentView" property="numberOfCorrected" value="${assessmentView.numberOfResponses}"> |
||
137 | <td><html:link action="/user/startCorrectAssessmentFromServiceZone.do?id=${assessmentView.id}"><bean:message key="assessment.list.form.option.correct"/></html:link></td> |
||
138 | </logic:notMatch> |
||
139 | </logic:notEqual> |
||
140 | <logic:match name="assessmentView" property="numberOfCorrected" value="${assessmentView.numberOfResponses}"> |
||
141 | <logic:notEqual name="assessmentView" property="numberOfCorrected" value="0"> |
||
142 | <td><html:link action="/user/generateEvaluationsPdfFromServiceZone.do?id=${assessmentView.id}"><bean:message key="assessment.list.form.option.generate.evaluations.pdf"/></html:link></td> |
||
143 | </logic:notEqual> |
||
144 | </logic:match> |
||
145 | <logic:notEmpty name="assessmentView" property="evaluationsIdentifier"> |
||
146 | <td><a href="<%=request.getContextPath()%>/repositoryStream/${assessmentView.evaluationsIdentifier}"><bean:message key="assessment.list.form.option.download.pdf"/></a></td> |
||
147 | </logic:notEmpty> |
||
148 | <logic:notEmpty name="assessmentView" property="identifier"> |
||
149 | <td><a href="<%=request.getContextPath()%>/repositoryStream/${assessmentView.identifier}"><bean:message key="assessment.list.form.option.download.assessment.pdf"/></a></td> |
||
150 | </logic:notEmpty> |
||
151 | <% |
||
152 | } |
||
153 | else if(av.getStatus() != null) |
||
154 | { |
||
155 | %> |
||
156 | <td colspan="200"><bean:message key="<%=av.getStatus().getMessageKey()%>"/></td> |
||
157 | <% |
||
158 | } |
||
159 | %> |
||
160 | </tr> |
||
161 | </logic:iterate> |
||
162 | </table> |
||
163 | <% |
||
164 | } |
||
165 | else |
||
166 | { |
||
167 | %> |
||
168 | <bean:message key="assessment.list.form.empty"/> |
||
169 | <% |
||
170 | } |
||
171 | %> |
||
172 | <% |
||
173 | } |
||
174 | %> |
||
175 | |||
176 | <% |
||
177 | if(userSession.getUser().isStudent()) |
||
178 | { |
||
179 | %> |
||
180 | |||
181 | <% |
||
182 | if(responseViews.size() > 0) |
||
183 | { |
||
184 | %> |
||
185 | <br> |
||
186 | <logic:iterate id="courseUnitView" name="CourseUnitViews" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
||
187 | <div style="font-size: 14px; font-weight:bold;"> |
||
188 | <bean:write name="courseUnitView" property="name"/> |
||
189 | </div> |
||
190 | |||
191 | |||
192 | <table class="dataTable"> |
||
193 | <tr> |
||
194 | <th><bean:message key="assessment.list.form.title"/></th> |
||
195 | <th><bean:message key="assessment.list.form.type"/></th> |
||
196 | <th><bean:message key="assessment.list.form.evaluationtime"/></th> |
||
197 | <%--<th><bean:message key="assessment.list.form.courseUnit"/></th>--%> |
||
198 | <th><bean:message key="assessment.list.form.year"/></th> |
||
199 | <th><bean:message key="assessment.list.form.semester"/></th> |
||
200 | <th><bean:message key="assessment.list.form.assessment.date"/></th> |
||
201 | <th><bean:message key="assessment.list.form.quotation"/></th> |
||
202 | </tr> |
||
203 | |||
204 | <logic:iterate id="responseView" name="ResponseViews" type="pt.estgp.estgweb.domain.views.AssessmentResponseView"> |
||
205 | <bean:define id="rAV" name="responseView" type="pt.estgp.estgweb.domain.views.AssessmentResponseView"/> |
||
206 | <logic:equal name="responseView" property="assessment.courseUnit.id" value="${courseUnitView.id}"> |
||
207 | <tr> |
||
208 | <td><bean:write name="responseView" property="assessment.title"/></td> |
||
209 | <td><bean:message key="assessments.type.${responseView.assessment.type}"/></td> |
||
210 | <td><bean:message key="assessments.evaluation.time.${responseView.assessment.evaluationTime}"/></td> |
||
211 | <%--<td><bean:write name="responseView" property="assessment.courseUnit.name"/></td>--%> |
||
212 | <td><bean:write name="responseView" property="assessment.year"/></td> |
||
213 | <td><bean:message key="courseunit.${responseView.assessment.semester}"/></td> |
||
214 | <logic:equal name="responseView" property="assessment.type" value="evaluation"> |
||
215 | <td><bean:write name="responseView" property="assessment.formatedStartDate"/></td> |
||
216 | </logic:equal> |
||
217 | <logic:equal name="responseView" property="assessment.type" value="self-evaluation"> |
||
218 | <td> |
||
219 | <logic:notEmpty name="responseView" property="assessment.formatedStartDate"> |
||
220 | <bean:write name="responseView" property="assessment.formatedStartDate"/> |
||
221 | a <bean:write name="responseView" property="assessment.formatedEndDate"/> |
||
222 | </logic:notEmpty> |
||
223 | </td> |
||
224 | </logic:equal> |
||
225 | <logic:equal name="responseView" property="evaluated" value="true"> |
||
226 | <td><bean:write name="responseView" property="quotation"/></td> |
||
227 | </logic:equal> |
||
228 | <logic:notEqual name="responseView" property="evaluated" value="true"> |
||
229 | <td><bean:message key="assessment.list.form.quotation.empty"/></td> |
||
230 | </logic:notEqual> |
||
231 | <logic:notEmpty name="responseView" property="assessment.identifier"> |
||
232 | <td><a href="<%=request.getContextPath()%>/repositoryStream/${responseView.assessment.identifier}"><bean:message key="assessment.list.form.option.download.assessment.pdf"/></a></td> |
||
233 | </logic:notEmpty> |
||
234 | <logic:notEmpty name="responseView" property="identifier"> |
||
235 | <td><a href="<%=request.getContextPath()%>/repositoryStream/${responseView.identifier}"><bean:message key="assessment.list.form.option.download.assessment.response.pdf"/></a></td> |
||
236 | </logic:notEmpty> |
||
237 | </tr> |
||
238 | </logic:equal> |
||
239 | </logic:iterate> |
||
240 | </table> |
||
241 | |||
242 | <br><br> |
||
243 | </logic:iterate> |
||
244 | |||
245 | |||
246 | <% |
||
247 | } |
||
248 | else |
||
249 | { |
||
250 | %> |
||
251 | <bean:message key="assessment.list.form.empty"/> |
||
252 | <% |
||
253 | } |
||
254 | %> |
||
255 | |||
256 | |||
257 | <% |
||
258 | } |
||
259 | %> |