Rev 1306 | Rev 1315 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.services.courseunits.DeleteCourseUnitService" %>
<%@ page import="pt.estgp.estgweb.utils.DatesUtils" %>
<%@ 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="pt.estgp.estgweb.domain.views.CourseUnitView" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%--
NOTAS DE DESENVOLVIMENTO
Este serviço pode encaminhar para edição de unidades curriculares
Portanto a edição de unidades curriculares (Administrativa) envia a CourseUnitView
que é usada aqui para ler o importYear de forma a não perder o ano onde estavamos
Por essa razao o importYear tem de estar presente em todos os links de saida desta página
--%>
<%
String importYear = request.getParameter("importYear");
if(importYear == null || importYear.length()==0)
{
CourseUnitView view = (CourseUnitView) request.getAttribute("CourseUnitView");
if(view == null)
{
// importYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYearCreateTransaction();
}
else
{
importYear = view.getImportYear();
}
}
%>
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading"><bean:message key="course.pedagogic.contents.admin"/> - <%=importYear%></div>
<div class="panel-body">
<form role="form" action="<%=request.getContextPath()%>/admin/courseUnitsDeleteAdmin.do" method="post">
<div class="form-group">
<label for="importYear"><bean:message key="courseunit.importYear"/></label>
<select name="importYear" id="importYear" class="form-control" onchange="this.form.submit()">
<option value="">Escolha Ano</option>
<%
List<String> years = DatesUtils.getImportYears(10);
for(String year: years)
{
String activo = year.equals(importYear)?"selected":"";
%>
<option value="<%=year%>" <%=activo%>><%=year%></option>
<%
}
%>
</select>
</div>
</form>
</div>
</div>
</div>
</div>
<%
if(importYear == null)
{
}
else
{
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{importYear};
List<DeleteCourseUnitService.CourseUnitContentsInfo> courseUnitContentsInfos = (List<DeleteCourseUnitService.CourseUnitContentsInfo>) sm.execute(RequestUtils.getRequester(request, response), "LoadCandidatesDeleteCourseUnitService", args, names);
request.setAttribute("CourseUnitContentsInfos", courseUnitContentsInfos);
%>
<style>
.modal-dialog{
position: absolute;
left: 0;
//now you must set a margin left under zero - value is a half width your window
}
</style>
<script>
$(document).ready(function(){
$('.deleteModal').on('show.bs.modal', function(e) {
$(this).find('.btn-ok').attr('href', $(e.relatedTarget).data('href'));
});
});
</script>
<logic:iterate id="contentsInfo" name="CourseUnitContentsInfos" type="pt.estgp.estgweb.services.courseunits.DeleteCourseUnitService.CourseUnitContentsInfo">
<div id="info${contentsInfo.cuv.id}" class="modal fade" role="dialog">
<div class="modal-dialog modal-sm">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">${contentsInfo.cuv.name}/${contentsInfo.cuv.code} - ${contentsInfo.cuv.courseName}/${contentsInfo.cuv.courseCode} - ${contentsInfo.cuv.semestre} - ${contentsInfo.cuv.importYear}</h4>
</div>
<div class="modal-body">
<logic:iterate id="msgWarn" name="contentsInfo" property="warnings">
<p>${msgWarn}</p>
</logic:iterate>
</div>
<div class="modal-footer">
<logic:equal value="true" name="contentsInfo" property="canDelete">
<button class="btn btn-danger" data-href="<%=request.getContextPath()%>/user/startDeleteCourseUnitAdminFromUnitsDeleteAdministration.do?dispatch=delete&id=${contentsInfo.cuv.id}&importYear=<%=importYear%>" data-toggle="modal" data-target="#confirm-delete${contentsInfo.cuv.id}">
<bean:message key="delete"/>
</button>
</logic:equal>
<html:link styleClass="btn btn-default" action="/user/startLoadCourseUnitFromHome?id=${contentsInfo.cuv.id}" target="_blank">Ir para a página</html:link>
<button type="button" class="btn btn-default" data-dismiss="modal"><bean:message key="close"/></button>
</div>
</div>
</div>
</div>
<div class="modal fade deleteModal" id="confirm-delete${contentsInfo.cuv.id}" tabindex="-1" role="dialog" >
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">${contentsInfo.cuv.name}/${contentsInfo.cuv.code} - ${contentsInfo.cuv.courseName}/${contentsInfo.cuv.courseCode} - ${contentsInfo.cuv.semestre} - ${contentsInfo.cuv.importYear}</h4>
</div>
<div class="modal-body">
<logic:iterate id="msgWarn" name="contentsInfo" property="warnings">
<p>${msgWarn}</p>
</logic:iterate>
<logic:empty name="contentsInfo" property="warnings">
Não tem avisos nesta unidade.
</logic:empty>
</div>
<div class="modal-footer">
Tem a certeza que desja apagar esta unidade curricular?
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<a class="btn btn-danger btn-ok">Delete</a>
</div>
</div>
</div>
</div>
</logic:iterate>
<!--Modais de iformação com avisos de conteudo da unidade-->
<jomm:messages/>
<html:errors/>
<div class="row">
<div class="col-sm-12 col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
Administração de Unidades Candidatas a Apagar com Zero Estudantes
<a href="<%=request.getContextPath()%>/admin/courseUnitsDeleteAdmin.do" class="btn btn-info"><span class="glyphicon glyphicon-refresh"></span></a>
</div>
<div class="panel-body">
<table class="tablesorter tablesorterfiltered">
<thead>
<tr>
<th>Código</th>
<th>Nome</th>
<th>Turma</th>
<th>Código Curso</th>
<th class="filter-name filter-select">Curso</th>
<th class="filter-name filter-select">Grau Curso</th>
<th>Ano</th>
<th class="filter-name filter-select">Semestre</th>
<th class="filter-name filter-select">Apagar</th>
<th>Apagar</th>
<th>Editar</th>
<th>Info</th>
</tr>
</thead>
<tbody>
<logic:iterate id="contentsInfo" name="CourseUnitContentsInfos" type="pt.estgp.estgweb.services.courseunits.DeleteCourseUnitService.CourseUnitContentsInfo">
<tr>
<td>${contentsInfo.cuv.code}</td>
<td>${contentsInfo.cuv.name}</td>
<td>${contentsInfo.cuv.cdTurma}</td>
<td>${contentsInfo.cuv.courseCode}</td>
<td>${contentsInfo.cuv.courseName}</td>
<td><bean:message key="course.${contentsInfo.cuv.courseView.degreeCleanCode}"/></td>
<td>${contentsInfo.cuv.importYear}</td>
<td><bean:message key="courseunit.${contentsInfo.cuv.semestre}"/></td>
<td>
<bean:message key="courseunit.canDelete.${contentsInfo.canDelete}"/>
</td>
<td>
<logic:equal value="true" name="contentsInfo" property="canDelete">
<button class="btn btn-danger" data-href="<%=request.getContextPath()%>/user/startDeleteCourseUnitAdminFromUnitsDeleteAdministration.do?importYear=<%=importYear%>&dispatch=delete&id=${contentsInfo.cuv.id}" data-toggle="modal" data-target="#confirm-delete${contentsInfo.cuv.id}">
<bean:message key="delete"/>
</button>
</logic:equal>
</td>
<td>
<a class="btn btn-warning" href="<%=request.getContextPath()%>/user/startEditCourseUnitAdminFromUnitsDeleteAdministration.do?id=${contentsInfo.cuv.id}&importYear=<%=importYear%>"><bean:message key="edit"/><span class="glyphicon glyphicon-pencil"></span></a>
</td>
<td>
<logic:notEmpty name="contentsInfo" property="warnings">
<button type="button" class="btn btn-info" data-toggle="modal" data-target="#info${contentsInfo.cuv.id}"><span class="glyphicon glyphicon-alert"></span></button>
</logic:notEmpty>
</td>
</tr>
</logic:iterate>
</tbody>
</table>
</div>
</div>
</div>
</div>
<%
}
%>
</div>