Rev 1312 | Rev 1686 | 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 class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.program"/>
</div>
<div class="panel-body">
<html:errors/>
<jomm:messages/>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_INFO_VALID_NOT_ACTIVE">
<div class="alert alert-warning">
O programa não está aberto para edição. A comissão de curso terá de invalidar o programa para que este possa ser alterado.
</div>
</baco:clearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_CAN_VALIDATE">
<logic:equal name="CourseUnitView" property="validProgram" value="true">
<html:link styleClass="btn btn-warning" action="/user/invalidateAndLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}">Invalidar</html:link>
</logic:equal>
</baco:clearOperation>
<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();
}
%>
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_COORDINATOR_PART">
<script>
$(document).ready(
function(){
$(".editCoordinatorPart *").prop('disabled',true);
}
);
</script>
</baco:notClearOperation>
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_TEACHER_PART">
<script>
$(document).ready(
function(){
$(".editTeacherPart *").prop('disabled',true);
}
);
</script>
</baco:notClearOperation>
<html:form styleId="ProgramForm" styleClass="form-horizontal" action="/user/courseUnitProgramController">
<input type="hidden" name="dispatch" value="saveProgram">
<html:hidden property="id"/>
<html:hidden property="courseUnitView.id"/>
<h3>Dados alterados pelo Coordenador de curso</h3>
<div class="editCoordinatorPart">
<div class="form-group">
<label class="control-label col-sm-3">
Importar programa a partir de outro ano
</label>
<div class="col-sm-3">
<select class="form-control col-sm-3" 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>
</div>
<div class="col-sm-3">
<input class="form-control" type="button" value="Clonar a partir deste programa" onclick="if(confirm('<bean:message key="courseunit.confirmaclonagem"/>')){set(form,'cloneProgram');form.submit()}"/>
</div>
</div>
</div>
<div class="alert alert-info">
<bean:message key="courseunit.consultaroutros"/>:
<logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
<a href="<%=request.getContextPath()%>/repositoryStream/<%=other.getProgramStreamId()%>" target="_blank"> <%=other.getImportYear()%> - <%=other.getSemestre()%></a>
</logic:iterate>
</div>
<div class="editCoordinatorPart">
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.responsable"/>
</label>
<div class="col-sm-10">
<html:select styleClass="form-control" 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>
</div>
</div>
<baco:isAdmin>
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.teachers"/>
</label>
<div class="col-sm-8">
<logic:lessEqual value="0" name="CourseUnitView" property="id">
<i><bean:message key="courseunit.to.add.teachers.save.first"/></i>
</logic:lessEqual>
<html:select styleClass="form-control" property="teacherId">
<logic:present name="CourseUnitProgramForm" property="teachers">
<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>
</logic:present>
</html:select>
</div>
<div class="col-sm-2">
<button class="form-control" type="button" onclick="set(this.form,'addTeacher');this.form.submit();">
<bean:message key="add"/>
</button>
</div>
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0">
<label class="col-sm-2">
</label>
<div class="col-sm-10">
<div class="list-group">
<logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<div class="list-group-item">
${userView.name} (${userView.code})
<button class="btn btn-danger btn-xs" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai remover o docente da unidade localmente, a sincronização com o sistema do IPP não voltará a colocar o docente neste unidade!! Tem a certeza que deseja prosseguir?" data-script="CourseUnitProgramForm.id.value='${userView.id}';set($('#ProgramForm').get(0),'removeTeacher');$('#ProgramForm').get(0).submit();">
<span class="glyphicon glyphicon-remove small"></span>
</button>
</div>
</logic:iterate>
</div>
</div>
</logic:greaterThan>
</div>
</baco:isAdmin>
<baco:isNotAdmin>
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.teachers"/>
</label>
<div class="col-sm-10">
<div class="list-group">
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<div class="list-group-item"> ${prof.name} (${prof.code})</div>
</logic:iterate>
</div>
</div>
</div>
</baco:isNotAdmin>
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.ects.title"/>
</label>
<div class="col-sm-10">
<div>
<div class="form-group">
<label class="control-label col-sm-1">
<bean:message key="courseunit.program.ects"/>
</label>
<div class="col-sm-11">
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.ects"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-1">
<bean:message key="courseunit.program.ects.cargaHorariaTotal"/>
</label>
<div class="col-sm-11">
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTotal"/>
</div>
</div>
</div>
<div>
<div class="form-group">
<div class="col-sm-12">
<table>
<tr>
<th><bean:message key="courseunit.program.cargaHorariaT"/></th>
<th><bean:message key="courseunit.program.cargaHorariaTP"/></th>
<th><bean:message key="courseunit.program.cargaHorariaPL"/></th>
<th><bean:message key="courseunit.program.cargaHorariaS"/></th>
<th><bean:message key="courseunit.program.cargaHorariaTC"/></th>
<th><bean:message key="courseunit.program.cargaHorariaO"/></th>
<th><bean:message key="courseunit.program.cargaHorariaOT"/></th>
</tr>
<tr>
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaT"/></td>
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTP"/></td>
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaPL"/></td>
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaS"/></td>
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTC"/></td>
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaO"/></td>
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaOT"/></td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<h3>Dados alterados pelo Docente da Unidade</h3>
<div class="editTeacherPart">
<%//TODO adicionar workflow e inicializações para a função addTeacher%>
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.objectivos"/>
</label>
<div class="col-sm-10">
<html:textarea rows="10" styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.prerequisitos"/>
</label>
<div class="col-sm-10">
<html:textarea rows="10" styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.prerequisitos" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.lingua1"/>
</label>
<div class="col-sm-10">
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.lingua1" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.lingua2"/>
</label>
<div class="col-sm-10">
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.lingua2" />
</div>
</div>
<!--Conteudos-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.conteudosProgramaticos"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.conteudos" />
</div>
</div>
<!--demonstracaoCoerenciaConteudos-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.demonstracaoCoerenciaConteudosObjectivos"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoCoerenciaConteudos" />
</div>
</div>
<!--metodologiasEnsino-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.metodologiasEnsino"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.metodologiasEnsino" />
</div>
</div>
<!--demonstracaoObjectivosMetodologia-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.demonstracaoDaCoerenciaMetodologiasObjectivos"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoObjectivosMetodologia" />
</div>
</div>
<h4><bean:message key="courseunit.program.avaliacao"/></h4>
<!--avaliacaoOrdinariosFrequencia-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.alunosOrdinariosPorFrequencia"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosFrequencia" />
</div>
</div>
<!--avaliacaoOrdinariosExame-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.alunosOrdinariosPorExame"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosExame" />
</div>
</div>
<!--avaliacaoEspeciaisFrequencia-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaisFrequencia" />
</div>
</div>
<!--avaliacaoEspeciaissExame-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorExame"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaissExame" />
</div>
</div>
<h4><bean:message key="courseunit.program.bibliografia"/></h4>
<!--bibliografia-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.bibliografiaPrincipal"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.bibliografia" />
</div>
</div>
<!--bibliografiaComplementar-->
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="courseunit.program.bibliografiaComplementar"/>
</label>
<div class="col-sm-10">
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.bibliografiaComplementar" />
</div>
</div>
</div>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_TEACHER_PART,PROGRAM_COORDINATOR_PART">
<button class="btn btn-success" type="button" onclick="set(form,'saveProgram');form.submit()"><bean:message key="save"/></button>
</baco:clearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_CAN_VALIDATE">
<logic:equal name="CourseUnitView" property="validProgram" value="false">
<button class="btn btn-success" type="button" onclick="set(form,'validateProgram');form.submit()">Salvar e Validar</button>
</logic:equal>
</baco:clearOperation>
</html:form>
</div><!--Panel body-->
</div><!--Panel-->
Generated by GNU Enscript 1.6.5.2.