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.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
%>