Rev 1353 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.utils.MessageResources" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.views.CourseUnitGradeView" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<jsp:useBean id="ProfileForm" type="pt.estgp.estgweb.web.form.profile.ProfileForm" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="profile.grades"/>
</div>
<div class="panel-body">
<jomm:messages/>
<%--<jsp:useBean id="ProfileForm" class="pt.estgp.estgweb.web.form.profile.ProfileForm"/>--%>
<h1>
<bean:write name="ProfileForm" property="userView.name"/>
</h1>
<h2>
<bean:message key="profile.roles"/>:
<%
List<String> roles = ProfileForm.getUserView().getOwnerRoles();
String separator = "";
for (String role : roles)
{
if (!role.equals(Globals.SUPER_USER_ROLE))
{
out.print(separator + MessageResources.getMessage(request, "user.role." + role));
separator = ", ";
}
}
%>
</h2>
<%
if(UserSession.getUser() != null && !UserSession.getUser().isTeacher() && !UserSession.getUser().isAdmin() && !UserSession.getUser().hasRole("services") && UserSession.getUser().getId() != ProfileForm.getUserView().getId())
{
%>
<h2 class="warning">Apenas o aluno tem direito a consultar as suas notas</h2>
<%
}else if(ProfileForm.getUserView().getGrades() == null || ProfileForm.getUserView().getGrades().size() == 0)
{
%>
<h2 class="warning">Não tem notas para apresentar</h2>
<%
}else if(UserSession.getUser() != null && !UserSession.getUser().isAdmin() && !UserSession.getUser().hasRole("services") && !ProfileForm.getUserView().isPropinasEmDia())
{
%>
<h2 class="warning">Regularize as suas propinas para poder aceder às notas</h2>
<%
}
else
{
%>
<script type="text/javascript" language="JavaScript">
</script>
<div class="block">
<%
Map<Long,Integer> unidadeNota = new HashMap<Long,Integer>();
Map<Long,Integer> unidadePositiva = new HashMap<Long,Integer>();
for(CourseUnitGradeView grade: ProfileForm.getUserView().getGrades())
{
Integer notaUnidade = unidadeNota.get(grade.getCourseUnit().getId());
if(notaUnidade == null || notaUnidade < grade.getGrade())
{
if(grade.getGrade() > 0)
{
unidadeNota.put(grade.getCourseUnit().getId(),grade.getGrade());
}
if(grade.getGrade() >= 10)
{
if(unidadePositiva.get(grade.getCourseUnit().getId())== null
|| (unidadePositiva.get(grade.getCourseUnit().getId())!=null && unidadePositiva.get(grade.getCourseUnit().getId())>grade.getGrade()))
{
unidadePositiva.put(grade.getCourseUnit().getId(),grade.getGrade());
}
}
}
}
float total = 0;
for(Integer nota: unidadePositiva.values())
total+=nota;
float media = total/((float)unidadePositiva.size());
%>
<p>Média: <%=media%></p>
<p>Unidades Completas: <%=unidadePositiva.size()%></p>
</div>
<button class="btn btn-default" onclick="$('#studentGrades .S_N').toggle()">Limpar/Mostrar S/N</button>
<button class="btn btn-default" onclick="$('#studentGrades .NEGATIVA').toggle()">Limpar/Mostrar apenas positivas</button>
<table id="studentGrades" class="tablesorterfiltered">
<thead>
<tr>
<th>
<bean:message key="code"/>
</th>
<th>
<bean:message key="course.unit"/>
</th>
<th>
<bean:message key="course.label"/>
</th>
<th>
<bean:message key="grade"/>
</th>
<th>
<bean:message key="date"/>
</th>
<th>
Epoca de Avaliação
</th>
<th>
Status de Época
</th>
</tr>
</thead>
<tbody>
<logic:iterate id="grade" name="ProfileForm" property="userView.grades" type="pt.estgp.estgweb.domain.views.CourseUnitGradeView">
<tr class="<logic:lessThan value="0" name="grade" property="grade">S_N</logic:lessThan> <logic:lessThan value="10" name="grade" property="grade">NEGATIVA</logic:lessThan>">
<td>
${grade.courseUnit.code}
</td>
<td>
${grade.courseUnit.name}
</td>
<td>
${grade.courseUnit.courseName}
</td>
<td>
<logic:greaterThan value="0" name="grade" property="grade">
${grade.grade}
</logic:greaterThan>
<logic:lessThan value="0" name="grade" property="grade">
S/N
</logic:lessThan>
</td>
<td>
${grade.formatedDate}
</td>
<td>
${grade.descEpoca}
</td>
<td>
${grade.descStatusEpoca}
</td>
</tr>
</logic:iterate>
</tbody>
</table>
<%
}
%>
</div>
</div>
Generated by GNU Enscript 1.6.5.2.