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.