Subversion Repositories bacoAlunos

Rev

Rev 1814 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="pt.estgp.estgweb.domain.UserImpl" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ 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-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="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>

<%
    String fromAction = "";
    String user = "";
    if (request.getParameter("from") != null)
    {
        user = "/user";
        fromAction = "From" + request.getParameter("from");
        if(request.getParameter("from").equals("CourseUnit"))
        {
            fromAction = "FromHome";
        }
    }
    request.setAttribute("user", user);
    request.setAttribute("fromAction", fromAction);


    //String activeEvaluationYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYearCreateTransaction();

    IServiceManager sm = ServiceManager.getInstance();

    String[] names = new String[]{};
    Object[] args = new Object[]{CourseUnitView.getCode(), CourseUnitView.getCourseCode()};

    pt.estgp.estgweb.domain.views.CourseUnitView courseUnitViewInEvaluation = (pt.estgp.estgweb.domain.views.CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnitInEvaluationBySigesCodes", args, names);
    if(courseUnitViewInEvaluation != null)
    {
        request.setAttribute("CourseUnitInEvaluation",courseUnitViewInEvaluation);
    }



%>



<jomm:messages/>

<div class="panel panel-primary panel-container">
    <div class="panel-heading clearfix">
        ${CourseUnitView.name} (${CourseUnitView.code}) - <bean:message key="courseunit.semestre"/> ${CourseUnitView.semestre} - ano ${CourseUnitView.importYear}

        <baco:hasRole role="admin,all,services,ci">

                <html:link styleClass="btn btn-default pull-right" action="/user/startEditCourseUnitAdminFromServiceZone?id=${CourseUnitView.id}">
                    <span class="glyphicon glyphicon-pencil"></span> Admin UC
                </html:link>

                <html:link styleClass="btn btn-default pull-right" action="/user/courseControllerFromServiceZone?dispatch=edit&courseView.id=${CourseUnitView.courseId}">
                    <span class="glyphicon glyphicon-pencil"></span> Admin <bean:message key="course" arg0="${CourseUnitView.courseNameInitials}"/>
                </html:link>

        </baco:hasRole>
    </div>
    <div class="panel-body">



            <baco:isAuthenticated>
                <%
                    if(UserSession.getUser().isTeacher() && courseUnitViewInEvaluation != null)
                    {
                        if(courseUnitViewInEvaluation.isValidationEvaluation())
                        {
                            if(!CourseUnitView.getImportYear().equals(courseUnitViewInEvaluation.getImportYear()))
                            {}
                %>
                <div class="row">
                    <div class="col-sm-8">
                        <div class="alert alert-warning" role="alert">Atenção tem um relatório de avaliação em fase de VALIDAÇÃO PELA COMISSÂO DE CURSO no ano <%=courseUnitViewInEvaluation.getImportYear()%>
                            <%
                            if(!CourseUnitView.getImportYear().equals(courseUnitViewInEvaluation.getImportYear()))
                            {
                            %>
                            (Entrar no <%=courseUnitViewInEvaluation.getImportYear()%> pelo menu lateral esquerdo antes de clicar em relatório de avaliação e confirmar no titulo da unidade).
                            <%
                                }
                            %>

                        </div>
                    </div>
                </div>
                <%
                        }
                        else if(courseUnitViewInEvaluation.isValidEvaluation())
                        {
                %>

                <%
                        }
                        else
                        {


                        %>
                        <div class="row">
                            <div class="col-sm-8">
                                <div class="alert alert-warning" role="alert">Atenção tem um relatório de avaliação em fase de preenchimento pelos DOCENTES no ano <%=courseUnitViewInEvaluation.getImportYear()%>
                                    <%
                                        if(!CourseUnitView.getImportYear().equals(courseUnitViewInEvaluation.getImportYear()))
                                        {
                                    %>
                                    (Entrar no <%=courseUnitViewInEvaluation.getImportYear()%> pelo menu lateral esquerdo antes de clicar em relatório de avaliação e confirmar no titulo da unidade).
                                    <%
                                        }
                                    %>
                               </div>
                            </div>
                        </div>
                        <%
                        }

                    }
                %>
            </baco:isAuthenticated>



            <html:form styleClass="form" action="/user/courseUnitControllerFromHome" enctype="multipart/form-data">
                <input type="hidden" name="dispatch" value="update"/>
                <html:hidden property="courseUnitView.id"/>


                <div class="row">
                    <div class="col-md-8 col-sm-6 col-xs-12">
                        <div class="row">
                            <div class="col-md-6 col-sm-12 col-xs-12">

                                <div class="panel panel-default">
                                    <div class="panel-heading">
                                        <bean:message key="courseunit.objectives"/>
                                    </div>
                                    <div class="panel-body">
                                        <p><logic:present name="CourseUnitView" property="objectives">
                                            ${CourseUnitView.formatedObjectives}
                                        </logic:present>
                                            <logic:notPresent name="CourseUnitView" property="objectives">
                                                <bean:message key="courseunit.objectives.not.available"/>
                                            </logic:notPresent></p>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6 col-sm-12 col-xs-12">
                                <div class="panel panel-default">
                                    <div class="panel-heading">
                                        Recursos Documentais
                                    </div>
                                    <div class="panel-body">

                                        <div class="list-group">



                                            <baco:isAdmin>
                                            <baco:canManage name="CourseUnitView">
                                                <div class="list-group-item">
                                                    <html:radio style="vertical-align: middle" onclick="set(form,'update');form.submit()" property="courseUnitView.contentsGrants" value="INTERNAL"/> <bean:message key="courseunits.contentsGrants"/>  <bean:message key="courseunits.contentsGrants.INTERNAL"/>  <br/>
                                                    <html:radio onclick="set(form,'update');form.submit()" property="courseUnitView.contentsGrants" value="PRIVATE" /> <bean:message key="courseunits.contentsGrants"/> <bean:message key="courseunits.contentsGrants.PRIVATE"/>
                                                </div>
                                            </baco:canManage>
                                            </baco:isAdmin>

                                            <baco:isAuthenticated>








                                                <logic:present name="CourseUnitView" property="programStreamId">
                                                    <baco:checkRepositoryFileAccess repositoryId="${CourseUnitView.programStreamId}">
                                                        <div class="list-group-item">
                                                            <bean:message key="courseunit.programfilepath"/>
                                                            <logic:equal value="false" name="CourseUnitView" property="validProgram">
                                                                <span class="label label-danger">*</span>
                                                            </logic:equal>

                                                            <span class="badge icon">
                                                                <a href="javascript:invoqueDataVersionForm(${CourseUnitView.programStreamId})"><span class="icon icon-history icon-large"></span></a>
                                                            </span>
                                                            <span class="badge icon">
                                                                <a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.programStreamId}"><span class="icon icon-file-pdf icon-large"></span></a>
                                                            </span>
                                                        </div>
                                                        <logic:equal value="false" name="CourseUnitView" property="validProgram">
                                                            <div class="list-group-item">
                                                                <span class="label label-danger">*</span> Aguarda validação
                                                            </div>
                                                        </logic:equal>
                                                    </baco:checkRepositoryFileAccess>
                                                </logic:present>

                                                <logic:present name="CourseUnitView" property="evaluationStreamId">
                                                    <baco:checkRepositoryFileAccess repositoryId="${CourseUnitView.evaluationStreamId}">
                                                        <div class="list-group-item clearfix">
                                                            <bean:message key="courseunit.evaluation.report"/>
                                                            <span class="badge icon">
                                                                <a href="javascript:invoqueDataVersionForm(${CourseUnitView.evaluationStreamId})"><span class="icon icon-history icon-large"></span></a>
                                                            </span>
                                                            <span class="badge icon">
                                                                <a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.evaluationStreamId}"><span class="icon icon-file-pdf icon-large"></span></a>
                                                            </span>
                                                        </div>
                                                    </baco:checkRepositoryFileAccess>
                                                </logic:present>

                                            </baco:isAuthenticated>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12 col-sm-12 col-xs-12">
                                <baco:isAuthenticated>
                                    <%
                                        if(CourseUnitView.getContentsGrants() == null)
                                            CourseUnitView.setContentsGrants("INTERNAL");
                                        if(CourseUnitView.getContentsGrants().equals("INTERNAL") || (CourseUnitView.getContentsGrants().equals("PRIVATE") &&
                                                (
                                                        ((UserImpl)UserSession.getUser()).checkIsTeacherOfCourseUnit(CourseUnitView.getId()) ||
                                                        ((UserImpl)UserSession.getUser()).checkIsStudentfCourseUnit(CourseUnitView.getId())  ||
                                                        (UserSession.getUser()).getId() == CourseUnitView.getResponsableId()
                                                )))
                                        {

                                    %>
                                    <h2><bean:message key="module.Announcements"/></h2>
                                    <logic:notEmpty name="CourseUnitView" property="announcements">
                                        <%--<div class="listCircleWhite">
                                            <ul>
                                                <logic:iterate id="announcement" name="CourseUnitView" property="announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
                                                    <li>
                                                        <h3><html:link action="/user/startLoadAnnouncementFromCourseUnit?id=${announcement.id}">${announcement.title}</html:link></h3>
                                                        <p>${announcement.formatedText}</p>
                                                        <p class="pFooterSeccao"><bean:message key="from"/>: ${announcement.owner.name} (${announcement.owner.username}) <bean:message key="at"/> ${announcement.formatedSaveDate} </p>
                                                    </li>
                                                </logic:iterate>
                                            </ul>
                                        </div>--%>
                                        <logic:iterate id="announcement" name="CourseUnitView" property="announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
                                            <div class="panel panel-info">
                                                <div class="panel-heading">
                                                    <html:link action="/user/startLoadAnnouncementFromCourseUnit?id=${announcement.id}">${announcement.title}</html:link>
                                                </div>
                                                <div class="panel-body">
                                                    <p>${announcement.formatedText}</p>
                                                </div>
                                                <div class="panel-footer"><bean:message key="from"/>: ${announcement.owner.name} (${announcement.owner.username}) <bean:message key="at"/> ${announcement.formatedSaveDate} </div>
                                            </div>
                                        </logic:iterate>


                                    </logic:notEmpty>
                                    <logic:empty name="CourseUnitView" property="announcements">
                                        <p><bean:message key="announcement.zero.placed"/></p>
                                    </logic:empty>
                                    <%
                                        }
                                    %>

                                </baco:isAuthenticated>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-4 col-sm-6 col-xs-12">



                        <div class="panel panel-default">
                                <div class="panel-heading">
                                    <bean:message key="courseunit.teachers"/>
                                    <!--<a href="#" data-toggle="modal" data-target="#teachersInfo" class="pull-right">
                                        Mais Info. <span class="glyphicon glyphicon-info-sign"> </span>
                                    </a>-->
                                    <a href="javascript:return false;" class="pull-right" data-href="<%=request.getContextPath()%>/user/courseunits/teachersInfo.jsp?courseUnitId=${CourseUnitView.id}" data-title="<bean:message key="courseunit.teachers"/>" data-toggle="modal" data-target="#modalAjaxRequest">
                                        Mais Info. <span class="glyphicon glyphicon-info-sign small"> </span>
                                    </a>
                                </div>
                                <div class="panel-body">

                                    <div class="modal fade" id="teachersInfo" tabindex="-1" role="dialog" >
                                        <div class="modal-dialog" data-width="750" style="display: block; width: 750px; margin-top: 50px;" aria-hidden="false">
                                            <div class="modal-content">
                                                <div class="modal-header">
                                                    <h4 class="modal-title"><bean:message key="courseunit.teachers"/>
                                                        <button type="button" class="btn btn-danger btn-sm pull-right glyphicon glyphicon-remove " data-dismiss="modal"></button>
                                                    </h4>
                                                </div>
                                                <div class="modal-body">
                                                    <div class="well well-sm"><bean:message key="courseunit.responsable"/></div>

                                                    <logic:lessEqual value="0" name="CourseUnitView" property="responsableTeacher.id">
                                                       <p> Não existe informação disponivel.</p>
                                                    </logic:lessEqual>
                                                    <logic:greaterThan value="0" name="CourseUnitView" property="responsableTeacher.id">
                                                        <p class="lead"><strong><bean:message key="name"/></strong>: ${CourseUnitView.responsableTeacher.name}</p>
                                                        <p><strong><bean:message key="profile.siges.code.public"/></strong>: ${CourseUnitView.responsableTeacher.code}</p>
                                                        <p><label class=""><bean:message key="email"/></label>: ${CourseUnitView.responsableTeacher.safeEmail}</p>
                                                    </logic:greaterThan>

                                                    <div class="well well-sm"><bean:message key="courseunit.teachers.teaching"/></div>
                                                    <logic:iterate id="teacher" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">

                                                        <p class="lead"><strong><bean:message key="name"/></strong>: ${teacher.name}</p>
                                                        <p><strong><bean:message key="profile.siges.code.public"/></strong>: ${teacher.code}</p>
                                                        <p><label class=""><bean:message key="email"/></label>: ${teacher.safeEmail}</p>
                                                        <logic:present name="CourseUnitView" property="tipologias">
                                                            <%
                                                                Map<String,List<String>> mapa = CourseUnitView.getTipologiasTurmas(""+teacher.getCode());
                                                                for(Map.Entry<String,List<String>> entry: mapa.entrySet())
                                                                {
                                                                    String tipologia = entry.getKey();
                                                                    List<String> turmas = entry.getValue();
                                                                    request.setAttribute("turmas", turmas);
                                                                    request.setAttribute("tipologia", tipologia);
                                                            %>
                                                            <p>${tipologia}:
                                                            <logic:iterate id="turma" name="turmas"  type="java.lang.String" scope="request">
                                                                     ${turma}
                                                            </logic:iterate>
                                                            </p>
                                                            <%
                                                                }
                                                            %>

                                                        </logic:present>
                                                    </logic:iterate>
                                                </div>
                                                <div class="modal-footer">
                                                    <button type="button" class="btn btn-default" data-dismiss="modal">Voltar</button>
                                                </div>
                                            </div>
                                        </div>
                                    </div>


                                    <logic:notEmpty name="CourseUnitView" property="responsableTeacher">
                                        <div class="list-group">
                                            <div class="list-group-item list-group-item-heading"><bean:message key="courseunit.responsable"/></div>
                                            <div class="list-group-item clearfix">

                                                <logic:lessEqual value="0" name="CourseUnitView" property="responsableTeacher.id">
                                                    <p> Não existe informação disponivel.</p>
                                                </logic:lessEqual>
                                                <logic:greaterThan value="0" name="CourseUnitView" property="responsableTeacher.id">
                                                    <html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${CourseUnitView.responsableTeacher.code}&courseUnitView.id=${CourseUnitView.id}">${CourseUnitView.responsableTeacher.name}</html:link>
                                                    <span class="badge">${CourseUnitView.responsableTeacher.code}</span>
                                                </logic:greaterThan>

                                            </div>
                                            <div class="list-group-item list-group-item-footer"> ${CourseUnitView.responsableTeacher.safeEmail}</div>
                                        </div>
                                    </logic:notEmpty>
                                    <div class="list-group">
                                        <logic:iterate id="teacher" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
                                            <div class="list-group-item clearfix">
                                                <html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${teacher.code}&courseUnitView.id=${CourseUnitView.id}">${teacher.name}</html:link>
                                                <span class="badge">${teacher.code}</span>
                                            </div>
                                            <div class="list-group-item list-group-item-footer"> ${teacher.safeEmail}</div>
                                        </logic:iterate>
                                    </div>


                                </div>

                            </div>






                        <baco:isAuthenticated>
                            <div class="panel panel-default">
                                <div class="panel-heading">
                                    <bean:message key="courseunit.summaries"/>
                                    <%
                                    if(CourseUnitView.getSemestreSumarios() != null && CourseUnitView.getSemestreSumarios().length() > 0
                                            && !CourseUnitView.getSemestreSumarios().equals(CourseUnitView.getSemestre()) )
                                    {

                                    %>
                                    (unidade lecionada no periodo: <bean:message key="courseunit.${CourseUnitView.semestreSumarios}"/>)
                                    <%
                                    }
                                    %>

                                    <span class="badge icon">
                                        <a href="<%=request.getContextPath()%>/ftpProxyStream/ionline${CourseUnitView.sumariosPathFileIntranet}">
                                            <span class="icon icon-large icon-file-pdf"></span>
                                        </a>
                                    </span>

                                </div>
                                <div class="panel-body">

                                <logic:notEmpty name="CourseUnitView" property="summariesFromJson">
                                    <baco:hasRole role="teacher">
                                        <logic:greaterThan value="0" name="CourseUnitView" property="lateSummaries">
                                            <div class="row">
                                                <div class="col-sm-12">
                                                    <div class="alert alert-warning" role="alert">
                                                        Alerta.Tem <bean:write name="CourseUnitView" property="lateSummaries"/>
                                                        <logic:equal name="CourseUnitView" property="lateSummaries" value="1">Sumário</logic:equal>
                                                        <logic:greaterThan name="CourseUnitView" property="lateSummaries" value="1">Sumários</logic:greaterThan>
                                                        lançados pelos serviços que não estão preenchidos e estão abertos há mais de 48 horas. Se este for um falso alerta pedimos desculpa pelo incómodo.
                                                        <a target="_blank" href="http://netpa.ipportalegre.pt">Aceda ao NETPA para regularizar</a>
                                                        ou entre em contacto com o Sr José Luis para confirmar a situação:
                                                        <ul>
                                                            <logic:iterate id="sumLate" name="CourseUnitView" property="lateSummariesDates">
                                                                <li>Por lançar: <bean:write name="sumLate"/></li>
                                                            </logic:iterate>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </logic:greaterThan>
                                    </baco:hasRole>
                                </logic:notEmpty>



                                <logic:notEmpty name="CourseUnitView" property="summariesFromJson">
                                    <%--
                                    <%
                                        //Docente-Tipologia
                                        Map<String,Map<String,String>> docenteTipologia = new HashMap<String,Map<String,String>>();
                                        List<CourseUnitSummaryView> sums = CourseUnitView.getSummariesFromJson();
                                        if(sums != null)
                                        {
                                            for(CourseUnitSummaryView sumView: sums)
                                            {
                                                Map<String,String> tipologias = docenteTipologia.get(sumView.getCodigoDocente());
                                                if(tipologias == null)
                                                {
                                                    tipologias = new HashMap<String,String>();
                                                    docenteTipologia.put(sumView.getCodigoDocente(),tipologias);
                                                }
                                                tipologias.put(sumView.getTipoAula(), "");
                                            }
                                        }
                                    %>

                                    <p>Tipologia - Docente</p>
                                    <%
                                        for(Map.Entry<String,Map<String,String>> entry: docenteTipologia.entrySet())
                                        {
                                            String codigoDocente = entry.getKey();
                                            for(String tipologia: entry.getValue().keySet())
                                            {
                                    %>
                                            <p><%=codigoDocente%> - <%=tipologia%></p>
                                    <%
                                            }
                                        }
                                    %>--%>
                                    <div class="list-group">
                                        <div class="list-group-item">
                                            <label >
                                                Filtrar:
                                            </label>

                                            <input id="summariesFilterInput" type="text" style="width: 80%"/>
                                            <script>
                                                $.extend($.expr[':'], {
                                                    'containsi': function(elem, i, match, array)
                                                    {
                                                        return (elem.textContent || elem.innerText || '').toLowerCase()
                                                                .indexOf((match[3] || "").toLowerCase()) >= 0;
                                                    }
                                                });
                                                $(document).ready(
                                                        function(){

                                                            $("#summariesFilterInput").unbind("click");
                                                            $('#summariesFilterInput').bind("keypress", function(e) {
                                                                if (e.keyCode == 13) {
                                                                    e.preventDefault();
                                                                    return false;
                                                                }
                                                            });
                                                            $("#summariesFilterInput").keyup(
                                                                    function(){
                                                                        if($("#summariesFilterInput").val()=="")
                                                                        {
                                                                            $(".summary").show();
                                                                        }
                                                                        else
                                                                        {
                                                                            var fields = $("#summariesFilterInput").val().split(" ");
                                                                            $(".summary").show();
                                                                            $(".summary").each(
                                                                                    function()
                                                                                    {
                                                                                        for(var i = 0; i < fields.length; i++)
                                                                                        {
                                                                                            if($(this).find(" *:containsi('"+fields[i]+"')").length == 0)
                                                                                            {
                                                                                                $(this).hide();
                                                                                                break;
                                                                                            }
                                                                                        }
                                                                                    }
                                                                            );
                                                                        }
                                                                    }
                                                            );
                                                        }
                                                );
                                            </script>
                                        </div>
                                    <logic:iterate id="summary" name="CourseUnitView" property="summariesFromJson" type="pt.estgp.estgweb.domain.views.CourseUnitSummaryView">
                                            <div class="summary" id="summary${summary.number}">
                                                <div class="list-group-item list-group-item-heading">Aula ${summary.number} - ${summary.title}</div>
                                                <div class="list-group-item">
                                                    <span class="label label-info">${summary.tipoAula}</span>
                                                    <span class="badge">${summary.codigoDocente}</span>
                                                    ${summary.description}
                                                </div>
                                                <div class="list-group-item list-group-item-footer">
                                                        ${summary.date} - ${summary.horas} Horas - ${summary.students}  <bean:message key="courseunit.summary.present.students"/>
                                                </div>
                                            </div>
                                    </logic:iterate>
                                    </div>
                                </logic:notEmpty>
                                <logic:empty name="CourseUnitView" property="summariesFromJson">
                                    <p><bean:message key="courseunit.summaries.zero.placed"/></p>
                                </logic:empty>
                                </div>
                            </div>
                        </baco:isAuthenticated>
                    </div>
                </div>



            </html:form>






</div>
</div>

Generated by GNU Enscript 1.6.5.2.