Subversion Repositories bacoAlunos

Rev

Rev 1633 | Rev 1635 | 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="modal" data-target="#modalCsvInfo">Informação da tabela em CSV</button>

    </div>
</div>

<div class="modal fade" id="modalCsvInfo" role="dialog" >
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">

        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header clearfix">
                <h3 class="modal-title">
                    <label class="title-wrap">Informação de entregas em formato CSV para importar no EXCEL</label>
                    <button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove small"></span></button>
                </h3>
            </div>
            <div class="modal-body">
                <p>Selecione o texto e faça copiar. No Excel coloque o cursor numa célula, clique no menu "Editar" e de seguida escolha "Colar Especial", na opção seguinte escolha "Texto".
                    Finalmente clique na Caixa que lhe aparece no canto inferior direito do texto colado. Das opções possiveis escolha "Import Wizard".
                    No wizard escolha "Delimitado" e "Seguinte".  No ecrão seguinte escolha o carcater separador ";" e desmarque os restantes, faça "Terminar".</p>
                <pre><%=deliverInfoCsv.toString()%></pre>
                <button type="button" class="btn btn-danger" data-dismiss="modal">Sair</button>
            </div>
        </div>
    </div>
</div>