Rev 1310 | Rev 1350 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ 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="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="pt.estgp.estgweb.domain.Teacher" %>
<%@ 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="CourseUnitProgramForm" type="pt.estgp.estgweb.web.form.courseunits.CourseUnitProgramForm" scope="request"/>
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
<%--<jsp:useBean id="CourseUnitProgramView" type="pt.estgp.estgweb.domain.views.CourseUnitProgramView" scope="request"/>--%>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<div id="contentIntranet">
<div id="contentPane">
<html:errors/>
<jomm:messages/>
<script>
//Manter a sessão activa para os docentes não perderem os dados
ping();
</script>
<%
IServiceManager sm = ServiceManager.getInstance();
List<pt.estgp.estgweb.domain.views.CourseUnitView> otherYearUnits;
otherYearUnits = new ArrayList<pt.estgp.estgweb.domain.views.CourseUnitView>();
try{
String[] names = new String[]{};
Object[] args = new Object[]{new Long(CourseUnitView.getId())};
otherYearUnits =
(List<pt.estgp.estgweb.domain.views.CourseUnitView>)
sm.execute(RequestUtils.getRequester(request, response), "LoadUnitOtherYearsWithProgram", args, names);
request.setAttribute("OtherYearUnits", otherYearUnits);
names = new String[]{};
args = new Object[]{};
List<Teacher> teachers = (List<Teacher>)
sm.execute(RequestUtils.getRequester(request, response), "LoadTeachers", args, names);
request.setAttribute("teachers", teachers);
}catch(Exception e)
{
System.err.print(e.toString());
e.printStackTrace();
}
%>
<div class="seccao">
<h2>
<bean:message key="courseunit.program"/>
</h2>
<%
boolean editCoordinatorPart = false;
boolean editTeacherPart = false;
pt.estgp.estgweb.domain.User u = UserSession.getUser();
if(u.isSuperuserOrAdmin())
{
editCoordinatorPart = true;
editTeacherPart = true;
}
else
{
if(u instanceof pt.estgp.estgweb.domain.Teacher)
{
pt.estgp.estgweb.domain.Teacher t = (pt.estgp.estgweb.domain.Teacher) u;
if(t.isTeacherOfCourseUnit(CourseUnitView.getId()))
{
editTeacherPart = true;
}
if(CourseUnitView.getCourseView().getCoordinator() != null && (t.getId() == CourseUnitView.getCourseView().getCoordinator().getId() || t.hasRole(CourseUnitView.getCourseView().getValidationRole())))
{
editCoordinatorPart = true;
}
}
}
%>
<html:form action="/user/courseUnitProgramController">
<input type="hidden" name="dispatch" value="saveProgram">
<html:hidden property="id"/>
<html:hidden property="courseUnitView.id"/>
<%
if(editCoordinatorPart)
{
%>
<div>
Importar programa a partir de outro ano
<select name="cloneFromUnitId">
<logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
<option value="<%=other.getId()%>"><%=other.getImportYear()%> - <%=other.getSemestre()%></option>
</logic:iterate>
</select>
<input type="button" value="Clonar a partir deste programa" onclick="if(confirm('<bean:message key="courseunit.confirmaclonagem"/>')){set(form,'cloneProgram');form.submit()}"/>
</div>
<%
}
%>
<table>
<tr>
<td colspan="<%=otherYearUnits.size()%>"><bean:message key="courseunit.consultaroutros"/> </td>
</tr>
<tr>
<logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
<td>
<a href="<%=request.getContextPath()%>/repositoryStream/<%=other.getProgramStreamId()%>" target="_blank"> <%=other.getImportYear()%> - <%=other.getSemestre()%></a>
</td>
</logic:iterate>
</tr>
</table>
<table class="dataTable tableDisabled" width="100%">
<%--COORDENADOR--%>
<tr>
<th colspan="2">Dados alterados pelo Coordenador de curso</th>
</tr>
<%
if(editCoordinatorPart)
{
%>
<%// DADOS DE UNIDADE //%>
<tr>
<th>
<bean:message key="courseunit.responsable"/>
</th>
<td>
<html:select property="courseUnitView.responsableId">
<html:option value="0"></html:option>
<logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<html:option value="${teacher.id}">${teacher.name} (${teacher.code})</html:option>
</logic:iterate>
</html:select>
</td>
</tr>
<baco:isAdmin>
<tr>
<th>
<bean:message key="courseunit.teachers"/>
</th>
<td>
<logic:lessEqual value="0" name="CourseUnitView" property="id">
<i><bean:message key="courseunit.to.add.teachers.save.first"/></i>
</logic:lessEqual>
<html:select property="teacherId">
<logic:present name="CourseUnitProgramForm" property="teachers">
<logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<jomm:option itemName="teacher" itemProperty="id" comparableObjectName="CourseUnitProgramForm"
comparableObjectProperty="teacherId">
${teacher.name} (${teacher.code})
</jomm:option>
</logic:iterate>
<input type="button" value="<bean:message key="add"/>"
onclick="set(this.form,'addTeacher');this.form.submit();">
</logic:present>
</html:select>
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0">
<table class="dataTable removeButton">
<logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<tr>
<th>
${userView.code}
</th>
<th>
${userView.name}
</th>
<td><input type="button" class="removeButton"
onclick="CourseUnitProgramForm.id.value='${userView.id}';set(this.form,'removeTeacher');this.form.submit();">
</td>
</tr>
</logic:iterate>
</table>
</logic:greaterThan>
</td>
</tr>
</baco:isAdmin>
<baco:isNotAdmin>
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<tr>
<th>
<bean:message key="courseunit.teachers"/>
</th>
<td>
${prof.name} (${prof.code})
</td>
</tr>
</logic:iterate>
</baco:isNotAdmin>
<%//TODO adicionar workflow e inicializações para a função addTeacher%>
<tr>
<td align="right"><bean:message key="courseunit.program.objectivos"/></td>
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.prerequisitos"/></td>
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.prerequisitos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.lingua1"/></td>
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.lingua1" style="width:100%" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.lingua2"/></td>
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.lingua2" style="width:100%" /></td>
</tr>
<tr>
<td colspan="2"><bean:message key="courseunit.program.ects.title"/></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.ects"/></td>
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.ects"/></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.ects.cargaHorariaTotal"/></td>
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaTotal"/></td>
</tr>
<tr>
<td align="right"></td>
<td width="80%">
<table>
<tr>
<td><bean:message key="courseunit.program.cargaHorariaT"/></td>
<td><bean:message key="courseunit.program.cargaHorariaTP"/></td>
<td><bean:message key="courseunit.program.cargaHorariaPL"/></td>
<td><bean:message key="courseunit.program.cargaHorariaS"/></td>
<td><bean:message key="courseunit.program.cargaHorariaTC"/></td>
<td><bean:message key="courseunit.program.cargaHorariaO"/></td>
<td><bean:message key="courseunit.program.cargaHorariaOT"/></td>
</tr>
<tr>
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaT"/></td>
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaTP"/></td>
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaPL"/></td>
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaS"/></td>
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaTC"/></td>
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaO"/></td>
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaOT"/></td>
</tr>
</table>
</td>
</tr>
<%
}
else
{
%>
<tr>
<th>
<bean:message key="courseunit.responsable"/>
</th>
<td>
${CourseUnitView.responsableTeacher.name} (${CourseUnitView.responsableTeacher.code})
</td>
</tr>
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<tr>
<th>
<bean:message key="courseunit.teachers"/>
</th>
<td>
${prof.name} (${prof.code})
</td>
</tr>
</logic:iterate>
<tr>
<td align="right"><bean:message key="courseunit.program.objectivos"/></td>
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.prerequisitos"/></td>
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.prerequisitos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.lingua1"/></td>
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.lingua1" style="width:100%" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.lingua2"/></td>
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.lingua2" style="width:100%" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.ects"/></td>
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.ects"/></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.ects.cargaHorariaTotal"/></td>
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTotal"/></td>
</tr>
<tr>
<td align="right"></td>
<td width="80%">
<table>
<tr>
<td><bean:message key="courseunit.program.cargaHorariaT"/></td>
<td><bean:message key="courseunit.program.cargaHorariaTP"/></td>
<td><bean:message key="courseunit.program.cargaHorariaPL"/></td>
<td><bean:message key="courseunit.program.cargaHorariaS"/></td>
<td><bean:message key="courseunit.program.cargaHorariaTC"/></td>
<td><bean:message key="courseunit.program.cargaHorariaO"/></td>
<td><bean:message key="courseunit.program.cargaHorariaOT"/></td>
</tr>
<tr>
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaT"/></td>
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTP"/></td>
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaPL"/></td>
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaS"/></td>
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTC"/></td>
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaO"/></td>
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaOT"/></td>
</tr>
</table>
</td>
</tr>
<%
}
if(editTeacherPart)
{
%>
<tr>
<th colspan="2">Dados alterados pelo Docente da Unidade</th>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.conteudosProgramaticos"/></td>
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.conteudos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.demonstracaoCoerenciaConteudosObjectivos"/></td>
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoCoerenciaConteudos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.metodologiasEnsino"/></td>
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.metodologiasEnsino" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.demonstracaoDaCoerenciaMetodologiasObjectivos"/></td>
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoObjectivosMetodologia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td colspan="2"><bean:message key="courseunit.program.avaliacao"/></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorFrequencia"/></td>
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosFrequencia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorExame"/></td>
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosExame" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia"/></td>
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaisFrequencia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorExame"/></td>
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaissExame" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td colspan="2"><bean:message key="courseunit.program.bibliografia"/></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.bibliografiaPrincipal"/></td>
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.bibliografia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.bibliografiaComplementar"/></td>
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.bibliografiaComplementar" style="width:100%;height:200px" /></td>
</tr>
<%
}
else
{
%>
<tr>
<th colspan="2">Dados alterados pelo Docente da Unidade</th>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.conteudosProgramaticos"/></td>
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.conteudos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.demonstracaoCoerenciaConteudosObjectivos"/></td>
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoCoerenciaConteudos" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.metodologiasEnsino"/></td>
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.metodologiasEnsino" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.demonstracaoDaCoerenciaMetodologiasObjectivos"/></td>
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoObjectivosMetodologia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td colspan="2"><bean:message key="courseunit.program.avaliacao"/></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorFrequencia"/></td>
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosFrequencia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorExame"/></td>
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosExame" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia"/></td>
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaisFrequencia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorExame"/></td>
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaissExame" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td colspan="2"><bean:message key="courseunit.program.bibliografia"/></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.bibliografiaPrincipal"/></td>
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.bibliografia" style="width:100%;height:200px" /></td>
</tr>
<tr>
<td align="right"><bean:message key="courseunit.program.bibliografiaComplementar"/></td>
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.bibliografiaComplementar" style="width:100%;height:200px" /></td>
</tr>
<%
}
%>
<baco:canManage name="CourseUnitView">
<%--DOCENTE--%>
</baco:canManage>
<tr><td colspan="2"><input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'saveProgram');form.submit()"/></td></tr>
</table>
</html:form>
</div>
</div>
</div>
Generated by GNU Enscript 1.6.5.2.