Rev 1306 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.apache.commons.net.ftp.FTPClient" %>
<%@ page import="org.hibernate.Criteria" %>
<%@ page import="org.hibernate.criterion.Order" %>
<%@ page import="org.hibernate.criterion.Projections" %>
<%@ page import="org.hibernate.criterion.Restrictions" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnitImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.utils.DatesUtils" %>
<%@ page import="pt.estgp.estgweb.web.FtpServer" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.commons.net.ftp.FTPFile" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ 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" %>
<baco:hasRole role="pedagogicCouncil,admin,services">
<%
String importYear = request.getParameter("importYear");
AbstractDao.getCurrentSession().beginTransaction();
if(importYear == null)
importYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear();
Criteria c = AbstractDao.getCurrentSession().createCriteria(CourseUnit.class);
c.setProjection(Projections.property("id"));
c.createAlias("course","co")
.add(Restrictions.eq("importYear",importYear))
//.add(Restrictions.eq("status",true))
.addOrder(Order.asc("co.name"))
.addOrder(Order.asc("name"));
List<Long> courseUnitIds = c.list();
%>
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-6">
<div class="alert alert-warning" role="alert">
Atenção, apenas utilizadores com o papel <bean:message key="user.role.pedagogicCouncil"/>, ou utilizadores especialmente designados pela administração das pasts têm permissão para inserir ficheiros nas pastas de inquéritos pedagógicos
</div>
</div>
<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()%>/user/coursePedagogicContents.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()">
<%
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>
<div class="row">
<div class="col-sm-12 col-md-12">
<table class="tablesorter tablesorterfiltered">
<thead>
<tr>
<th class="filter-name filter-select"><bean:message key="status"/></th>
<th><bean:message key="course.code"/> <bean:message key="course.label"/> (SIGES)</th>
<th class="filter-name filter-select"><bean:message key="course.label"/></th>
<th><bean:message key="courseunit.code"/> <bean:message key="courseunit"/> (SIGES)</th>
<th><bean:message key="courseunit"/></th>
<th class="filter-name filter-select"><bean:message key="course.importYear"/></th>
<th class="filter-name filter-select"><bean:message key="courseunit.semestre"/></th>
<th data-placeholder="--- p/ vazios">Ficheiros</th>
<th>Editar</th>
</tr>
</thead>
<tbody>
<%
//FtpServer ftpServer = FtpServer.getFtpServerForCurrentUser(Globals.FTP_IONLINE_URL,request);
//FTPClient ftpClient = ftpServer.getClient();
//ftpClient.changeWorkingDirectory("/");
//ftpClient.changeWorkingDirectory(Globals.FTP_IONLINE_START_PATH);
for(Long courseUnitId: courseUnitIds)
{
CourseUnitImpl cu = (CourseUnitImpl) DaoFactory.getCourseUnitDaoImpl().load(courseUnitId);
//ftpClient.changeWorkingDirectory("/");
//boolean existDirectory = ftpClient.changeWorkingDirectory(cu.getInqueritosPedagogicosPathIntranet());
//FTPFile[] files = existDirectory? ftpClient.listFiles(): null;
request.setAttribute("CourseUnit",cu);
%>
<jsp:useBean id="CourseUnit" type="pt.estgp.estgweb.domain.CourseUnit" scope="request"/>
<tr>
<td>
<logic:equal value="true" name="CourseUnit" property="course.status">
<bean:message key="yes"/>
</logic:equal>
<logic:equal value="false" name="CourseUnit" property="course.status">
<bean:message key="no"/>
</logic:equal>
</td>
<td>${CourseUnit.courseCode}</td>
<td>${CourseUnit.courseName}</td>
<td>${CourseUnit.code}</td>
<td>${CourseUnit.name}</td>
<td>${CourseUnit.importYear}</td>
<td><bean:message key="courseunit.${CourseUnit.semestre}"/></td>
<!--<td>
<a class="btn btn-warning" href="<%=request.getContextPath()%>/user/courseControllerFromServiceZone.do?dispatch=edit&courseView.id=${course.id}">
<span class="glyphicon glyphicon-pencil"></span>
</a>
</td>-->
<td>
<div class="list-group" id="filesUnit${CourseUnit.id}">
</div>
</td>
<td>
<a class="btn btn-default" target="_blank" href="<%=request.getContextPath()%>/courseunitproxy/courseLayoutIOnlineDtp/ionline/<%=Globals.INTRANET_DTP + "/" + Globals.INTRANET_DTP_InqueritoPedagogico%>/?courseUnitView.id=${CourseUnit.id}&startPath=${CourseUnit.pathIntranet}&from=Home">
<span class="glyphicon glyphicon-pencil"></span>
</a>
</td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
<script>
function updateUnit(unitId)
{
$("#filesUnit" + unitId).html("Aguarde por favor");
$.ajax({
dataType: "json",
url: "<%=request.getContextPath()%>/user/courses/listFilesInqueritoPedagogicoJson.jsp?courseUnitId=" + unitId,
async: true,
success: function(data) {
if(data.files == null || data.files.length == 0)
{
$("#filesUnit" + unitId).html("---");
}
else
{
$("#filesUnit" + unitId).html("");
var i;
for(i=0;i<data.files.length;i++)
{
var name = data.files[i].name;
var path = data.files[i].completePath;
$("#filesUnit" + unitId).append('<div class="list-group-item"><a target="_blank" href="<%=request.getContextPath()%>/ftpProxyStream/ionline/' + path + '">' + name + '</a></div>')
}
}
}
});
}
function updateAll()
{
<%
for(Long courseUnitId: courseUnitIds)
{
%>
updateUnit('<%=courseUnitId%>');
<%
}
%>
}
function updateTable(){
$(".tablesorterfiltered").trigger('update');
setTimeout("updateTable()",5000);
}
$(document).ready(function(){
setTimeout("updateAll()",1000);
setTimeout("updateTable()",5000);
});
</script>
<%
//ftpClient.logout();
AbstractDao.getCurrentSession().getTransaction().commit();
%>
</div>
</baco:hasRole>