Subversion Repositories bacoAlunos

Rev

Rev 1022 | 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="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.dao.impl.ConfigurationDaoImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ 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();

%>

<jomm:messages/>

<div id="contentPane">
    <h1>${CourseUnitView.name} (${CourseUnitView.code}) - (${CourseUnitView.semestre}) - ${CourseUnitView.importYear})</h1>
    <table width="100%" cellpadding="0" cellspacing="2" border="0">
        <tr>
            <td valign="top" class="seccao">

            <baco:isAuthenticated>
                <%
                    if(activeEvaluationYear != null)
                    {
                %>

                <%
                        if((CourseUnitView.getResponsableTeacher() != null && CourseUnitView.getResponsableTeacher().getId() == UserSession.getUser().getId())
                                ||
                                CourseUnitView.isOwnedBy(UserSession.getUser(),false)
                                ||
                                //Validation Role e o papel da comissão de curso
                                UserSession.getUser().hasRole(CourseUnitView.getCourseView().getValidationRole()))
                        {
                            if(CourseUnitView.isValidEvaluation())
                            {
                %>
                <p>
                    <label class="INFO"> <a href="<%=request.getContextPath()%>/repositoryStream/<%=CourseUnitView.getEvaluationStreamId()%>">Relatório de avaliação em PDF</a></label>
                </p>
                <%
                            }
                            else
                            {
                %>
                <p>
                 <label class="WARNING">Atenção o relatório de avaliação deve ser preenchido no ano <%=activeEvaluationYear%> (Entrar no <%=activeEvaluationYear%> pelo menu lateral esquerdo antes de clicar em relatório de avaliação e confirmar no titulo da unidade).</label>
                </p>
                <%
                            }
                        }
                    }
                %>
            </baco:isAuthenticated>
                <baco:hasRole role="admin,all,services">
                   <ul>
                       <li>
                            <html:link action="/user/startEditCourseUnitAdminFromServiceZone.do?id=${CourseUnitView.id}">
                                Editar Dados Administrativos Unidade
                            </html:link>
                        </li>
                       <li>
                            <html:link action="/user/courseControllerFromServiceZone.do?dispatch=edit&courseView.id=${CourseUnitView.courseId}">
                                Editar Dados Administrativos Curso
                            </html:link>
                        </li>
                   </ul>

                </baco:hasRole>

                <html:form styleClass="form" action="/user/courseUnitControllerFromHome" enctype="multipart/form-data">
                    <input type="hidden" name="dispatch" value="update"/>
                    <html:hidden property="courseUnitView.id"/>
                    <h2><bean:message key="courseunit.objectives"/></h2>
                    <p>
                        <%--<baco:cantManage name="CourseUnitView">--%>
                            <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>
                        <%--</baco:cantManage>--%>
                        <%--<baco:canManage name="CourseUnitView">--%>
                            <%--<html:textarea styleClass="textarea" property="courseUnitView.objectives"/>--%>
                        <%--</baco:canManage>--%>
                    </p>
                    <baco:canManage name="CourseUnitView">
                    <h2><bean:message key="courseunits.contentsGrants"/></h2>
                    <p>
                            <html:select property="courseUnitView.contentsGrants">
                                <%--<html:option value="PUBLIC"><bean:message key="courseunits.contentsGrants.PUBLIC"/></html:option>--%>
                                <html:option value="INTERNAL"><bean:message key="courseunits.contentsGrants.INTERNAL"/></html:option>
                                <html:option value="PRIVATE"><bean:message key="courseunits.contentsGrants.PRIVATE"/></html:option>
                            </html:select>
                            <baco:canManage name="CourseUnitView">
                                <input type="button" onclick="set(form,'update');form.submit()" value="<bean:message key="confirm"/>">
                            </baco:canManage>
                    </p>
                    </baco:canManage>
                    <baco:isAuthenticated>
                    <h2><bean:message key="courseunit.programfilepath"/>
                          
                        <baco:isTeacherOfCourseUnit courseUnitId="${CourseUnitView.id}">
                            <logic:equal value="false" name="CourseUnitView" property="validProgram">
                                Ficha aberta para edição: (<html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><bean:message key="courseunit.edit.program"/></html:link>)
                            </logic:equal>

                        </baco:isTeacherOfCourseUnit>
                        
                        <logic:equal value="${CourseUnitView.coordinatorId}" name="UserSession" property="user.id">
                            <logic:equal value="false" name="CourseUnitView" property="validProgram">
                                Ficha aberta para edição: (<html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><bean:message key="courseunit.edit.program"/></html:link>)
                            </logic:equal>
                        </logic:equal>

                        <baco:isAdmin>
                            Ficha aberta para edição: (<html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><bean:message key="courseunit.edit.program"/></html:link>)
                        </baco:isAdmin>


                         <logic:equal value="true" name="CourseUnitView" property="validProgram">
                            (Ficha curricular validada)
                        </logic:equal>
                        <logic:equal value="false" name="CourseUnitView" property="validProgram">
                            (<label style="color:red">Ficha curricular ainda não validada pela Comissão de Curso</label>)
                        </logic:equal>
                    </h2>
                    <p>
                        <baco:canManage name="CourseUnitView">
                            <!--
                            <logic:equal value="false" name="CourseUnitView" property="validProgram">
                                <html:file property="programFile"/>
                            </logic:equal>
                            -->
                            <logic:present name="CourseUnitView" property="programStreamId">
                                <a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.programStreamId}"><bean:message key="courseunit.programfilepath"/></a> (${CourseUnitView.programSize} Kb)
                                <logic:equal value="true" name="CourseUnitView" property="validProgram">
                                    (<bean:message key="courseunit.programfile.valid"/>)
                                </logic:equal>
                            </logic:present>
                        </baco:canManage>


                        <baco:cantManage name="CourseUnitView">
                            <logic:present name="CourseUnitView" property="programStreamId">
                                <logic:equal value="true" name="CourseUnitView" property="validProgram">
                                    (<bean:message key="courseunit.programfile.valid"/>)
                                </logic:equal>
                                <a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.programStreamId}"><bean:message key="courseunit.programfilepath"/></a> (${CourseUnitView.programSize} Kb) 

                            </logic:present>
                        </baco:cantManage>

                        <logic:notPresent name="CourseUnitView" property="programStreamId">
                            <bean:message key="courseunit.programfilepath.not.available"/>
                        </logic:notPresent>

                        <logic:present name="CourseUnitView" property="programStreamId">
                            <logic:equal value="false" name="CourseUnitView" property="validProgram">
                                <bean:message key="courseunit.programfile.invalid"/>
                            </logic:equal>
                        </logic:present>

                        <logic:present name="CourseUnitView" property="programStreamId">
                            <baco:hasRole role="teacher,admin,all">
                                <a href="<%=request.getContextPath()%>/admin/data.jsp?id=${CourseUnitView.programStreamId}">Ver todas as versoes do programa</a>
                            </baco:hasRole>
                        </logic:present>

                    </p>
                    </baco:isAuthenticated>


                </html:form>


            <baco:isAuthenticated>

                <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:notEmpty>
                <logic:empty name="CourseUnitView" property="announcements">
                    <p><bean:message key="announcement.zero.placed"/></p>
                </logic:empty>
            </td>

        </baco:isAuthenticated>

            </td>
            <td  valign="top" class="seccao">

                <div class="seccao">
                    <logic:notEmpty name="CourseUnitView" property="responsableTeacher">
                        <h2><bean:message key="courseunit.responsable"/></h2>
                        <table class="dataTable">
                            <tr>
                                <th><bean:message key="number"/></th>
                                <th><bean:message key="name"/></th>
                                <th><bean:message key="email"/></th>
                            </tr>
                            <tr>
                                <td>
                                        ${CourseUnitView.responsableTeacher.code}
                                </td>
                                <td>
                                        <html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${CourseUnitView.responsableTeacher.code}&courseUnitView.id=${CourseUnitView.id}">${CourseUnitView.responsableTeacher.name}</html:link>
                                </td>
                                <td>
                                        ${CourseUnitView.responsableTeacher.safeEmail}
                                </td>
                            </tr>
                        </table>
                    </logic:notEmpty>

                    <h2><bean:message key="courseunit.teachers"/></h2>
                    <table class="dataTable">
                        <tr>
                            <th><bean:message key="number"/></th>
                            <th><bean:message key="name"/></th>
                            <th><bean:message key="email"/></th>
                        </tr>

                        <logic:iterate id="teacher" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
                            <tr>
                                <td>
                                        ${teacher.code}
                                </td>
                                <td>
                                        <html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${teacher.code}&courseUnitView.id=${CourseUnitView.id}">${teacher.name}</html:link>
                                </td>
                                <td>
                                        ${teacher.safeEmail}
                                </td>
                            </tr>
                        </logic:iterate>
                    </table>
                </div>
                <div class="seccao">
                    <h2><bean:message key="courseunit.summaries"/></h2>
                    <logic:notEmpty name="CourseUnitView" property="summariesFromJson">
                        <baco:hasRole role="teacher">
                            <p><a href="<%=request.getContextPath()%>/ftpProxyStream/ionline${CourseUnitView.sumariosPathFileIntranet}">Descarregar PDF</a></p>
                            <logic:greaterThan value="0" name="CourseUnitView" property="lateSummaries">
                                <p style="background-color: yellow">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:</a>

                                </p>
                                <ul>
                                    <logic:iterate id="sumLate" name="CourseUnitView" property="lateSummariesDates">
                                        <li>Por lançar: <bean:write name="sumLate"/></li>
                                    </logic:iterate>
                                </ul>
                            </logic:greaterThan>
                        </baco:hasRole>
                    </logic:notEmpty>


                    <logic:notEmpty name="CourseUnitView" property="summariesFromJson">
                        <logic:iterate id="summary" name="CourseUnitView" property="summariesFromJson" type="pt.estgp.estgweb.domain.views.CourseUnitSummaryView">
                            <div class="blockData">
                                <div class="blockDataTitle">Aula ${summary.number} - ${summary.title}</div>
                                <div class="blockDataContent">${summary.description}</div>
                                <div class="blockDataFooter">${summary.date} - ${summary.horas} Horas - ${summary.students}  <bean:message key="courseunit.summary.present.students"/> </div>
                            </div>
                        </logic:iterate>
                    </logic:notEmpty>
                    <logic:empty name="CourseUnitView" property="summariesFromJson">
                        <p><bean:message key="courseunit.summaries.zero.placed"/></p>
                    </logic:empty>
                </div>
            </td>

        </tr>

    </table>
</div>

Generated by GNU Enscript 1.6.5.2.