Subversion Repositories bacoAlunos

Rev

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.