Subversion Repositories bacoAlunos

Rev

Rev 1482 | Rev 1634 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="pt.estgp.estgweb.domain.Teacher" %>
<%@ page import="pt.estgp.estgweb.domain.TeacherImpl" %>
<%@ page import="jomm.utils.MessageResources" %>
<%@ page import="java.util.Collections" %>
<%@ page import="pt.estgp.estgweb.domain.views.utils.CourseUnitDeliverableComparator" %>
<%@ page import="org.json.JSONObject" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<jsp:useBean id="CourseUnitsForm" type="pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm" scope="request"/>
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
<jsp:useBean id="CourseUnitAssignementView" type="pt.estgp.estgweb.domain.views.CourseUnitAssignementView" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<div id="contentIntranet">
<div id="contentPane">
<html:errors/>
<jomm:messages/>

<div class="panel panel-default">
    <div class="panel-heading">
        <bean:message key="courseunit.assignement" arg0="${CourseUnitAssignementView.title}"/>
    </div>
    <div class="panel-body">
        <table class="tablesorter-blue">
            <tr>
                <th>
                    <bean:message key="courseunit.title"/>
                </th>
                <td>
                    <bean:write name="CourseUnitAssignementView" property="title"/>
                </td>
            </tr>
            <tr>
                <th>
                    <bean:message key="courseunit.assignement.deliver.date"/>
                </th>
                <td>
                    <bean:write name="CourseUnitAssignementView" property="deliverDate"/>
                </td>
            </tr>
            <tr>
                <th>
                    <bean:message key="courseunit.assignement.deliver.type"/>
                </th>
                <td>
                    <bean:message key="courseunit.assignement.deliver.type.${CourseUnitAssignementView.deliverType}"/>
                </td>
            </tr>
            <tr>
                <th>
                    <bean:message key="courseunit.assignement.deliver.late.permission"/>
                </th>
                <td>
                    <logic:equal value="true" name="CourseUnitAssignementView" property="lateDelivers">
                        <bean:message key="yes"/>
                    </logic:equal>
                    <logic:notEqual value="true" name="CourseUnitAssignementView" property="lateDelivers">
                        <bean:message key="no"/>
                    </logic:notEqual>
                </td>
            </tr>
            <tr>
                <th>
                    <bean:message key="courseunit.description"/>
                </th>
                <td>
                    ${CourseUnitAssignementView.formatedDescription}
                </td>
            </tr>
            <tr>
                <th>
                    <bean:message key="courseunit.status"/>
                </th>
                <td>
                    <logic:equal value="true" name="CourseUnitAssignementView" property="status">
                        <bean:message key="status.active"/>
                    </logic:equal>
                    <logic:notEqual value="true" name="CourseUnitAssignementView" property="status">
                        <bean:message key="status.inactive"/>
                    </logic:notEqual>
                </td>
            </tr>
            <logic:notEmpty name="CourseUnitAssignementView" property="workFile">
                <tr>
                    <th>
                        <bean:message key="courseunit.assignement.file"/>
                    </th>
                    <td>
                        <a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitAssignementView.workFile}"><bean:message key="courseunit.assignement.file"/></a>
                    </td>
                </tr>
            </logic:notEmpty>
        </table>



<bean:define id="orderFirst" type="java.lang.String" scope="request" value=""/>
<bean:define id="orderLast" type="java.lang.String" scope="request" value=""/>

<%
//    String orderFirst = "";
//    String orderLast = "";

    if (request.getParameter("sort") != null) {
        String sortBy = request.getParameter("sort");
        if (sortBy.equals("firstAsc"))
        {
            Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.FIRST_VERSION_ASC);
%>
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstDesc"/>
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/>
<%
        }
        else if (sortBy.equals("firstDesc"))
        {
            Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.FIRST_VERSION_DESC);
%>
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/>
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/>
<%
        }
        else if (sortBy.equals("lastAsc"))
        {
            Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.LAST_VERSION_ASC);
%>
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastDesc"/>
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/>
<%
         }
        else if (sortBy.equals("lastDesc"))
        {
            Collections.sort(CourseUnitAssignementView.getDeliverables(), CourseUnitDeliverableComparator.LAST_VERSION_DESC);
%>
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/>
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/>
<%
         }
        else
        {
%>
<bean:define id="orderFirst" type="java.lang.String" scope="request" value="firstAsc"/>
<bean:define id="orderLast" type="java.lang.String" scope="request" value="lastAsc"/>

<%
        }
    }

%>

<%
    StringBuilder deliverInfoCsv = new StringBuilder();
%>

<nested:form action="/user/courseUnitControllerFromHome">
    <input type="hidden" name="dispatch" value="updateDeliverables">
    <html:hidden property="courseUnitAssignementView.id" value="${CourseUnitAssignementView.id}"/>

    <html:hidden property="courseUnitView.id" value="${CourseUnitView.id}"/>

    <a name="works"> </a>
    <table class="tablesorter-blue">
        <thead>
            <tr>
                <th><bean:message key="courseunit.assignement.delivered.versions"/></th>
                <th><bean:message key="courseunit.assignement.delivered.date.first.version"/></th>
                <th><bean:message key="courseunit.assignement.delivered.date"/></th>
                <th><bean:message key="courseunit.assignement.deliver.time"/></th>
                <th><bean:message key="number"/></th>
                <th><bean:message key="name"/></th>
                <th><bean:message key="courseunit.assignement.deliver.version"/></th>
                <th><bean:message key="courseunit.assignement.deliver.grade"/></th>
                <th><bean:message key="courseunit.assignement.deliver.obs"/></th>
            </tr>
        </thead>
        <%
            deliverInfoCsv.append("Total de Versões Entregues").append(";");
            deliverInfoCsv.append("Data de Entrega da Primeira Versão").append(";");
            deliverInfoCsv.append("Data de Entrega").append(";");
            deliverInfoCsv.append("Entregue").append(";");
            deliverInfoCsv.append("Número").append(";");
            deliverInfoCsv.append("Nome").append(";");
            deliverInfoCsv.append("Nota").append(";");
            deliverInfoCsv.append("Observações").append(";");
            deliverInfoCsv.append("\n");

        %>
        <tbody>
        <nested:iterate id="deliverable" property="courseUnitAssignementView.deliverables" type="pt.estgp.estgweb.domain.views.CourseUnitDeliverableView">
            <%
                deliverInfoCsv.append(deliverable.getVersionsSize()).append(";");
                deliverInfoCsv.append(deliverable.getDeliverDateMinutesSecondsStrFirstVersion()).append(";");
                deliverInfoCsv.append(deliverable.getDeliverDateStrMinutesSeconds()).append(";");
                if(deliverable.isLateDeliver())
                    deliverInfoCsv.append("Entregue a Horas").append(";");
                else
                    deliverInfoCsv.append("Entregua Atrasada").append(";");
                deliverInfoCsv.append(deliverable.getStudent().getCode()).append(";");
                deliverInfoCsv.append(deliverable.getStudent().getName()).append(";");
                deliverInfoCsv.append(deliverable.getGrade()).append(";");
                deliverInfoCsv.append(deliverable.getObs().replaceAll("\\n"," ")).append(";");
                deliverInfoCsv.append("\n");

            %>
            <tr>
                <td align="right">

                <a href="javascript:showOrHideOne('work${deliverable.id}')">${deliverable.versionsSize}</a>
                    <div id="work${deliverable.id}" style="display:none;">
                        <nested:iterate id="version" name="deliverable" property="versions" type="pt.estgp.estgweb.domain.RepositoryFileVersion">
                           - <bean:message key="courseunit.assignement.deliver.version"/> (${version.saveDate})&nbsp;<br/>
                        </nested:iterate>
                    </div>

                </td>
                <td nowrap="nowrap" align="center">${deliverable.deliverDateMinutesSecondsStrFirstVersion} </td>
                <td nowrap="nowrap" align="center">${deliverable.deliverDateStrMinutesSeconds} </td>
                <logic:equal name="deliverable" property="lateDeliver" value="true">
                    <td>
                        <label class="statusERROR">
                            <bean:message key="courseunit.assignement.deliver.time.late"/>
                        </label>
                    </td>
                </logic:equal>
                <logic:notEqual name="deliverable" property="lateDeliver" value="true">
                    <td >
                        <label class="statusOK">
                            <bean:message key="courseunit.assignement.deliver.time.ok"/>
                        </label>
                    </td>
                </logic:notEqual>
                <td align="right">${deliverable.student.code}</td>
                <td>${deliverable.student.name}</td>
                <td><a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${deliverable.fileStreamId}"><bean:message key="courseunit.assignement.deliver.version"/> (${deliverable.deliverDateMinutesSecondsStr})</a></td>
                <td>
                    <nested:hidden property="id"/>
                    <nested:text property="grade"/>
                </td>
                <td>
                        <%--<a href="javascript:showOrHideOne('obs${deliverable.id}')"><bean:message key="courseunit.assignement.deliver.show.obs"/></a>--%>

                    <nested:textarea styleId="obs${deliverable.id}"  styleClass="textarea" property="obs"/>

                </td>
            </tr>
        </nested:iterate>

        </tbody>
    </table>
    <input type="button" class="btn btn-success" onclick="this.form.submit()" value="<bean:message key="confirm"/>"/>
</nested:form>

    <button type="button" class="btn btn-default pull-right" data-toggle="collapse" data-target="#csvInfo">Informação da tabela em CSV</button>
    <div id="csvInfo" class="collapse">
        <pre><%=deliverInfoCsv.toString()%></pre>
    </div>
    </div>
</div>