Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1480 → Rev 1485

/branches/v3/impl/conf/berserk/sd.xml
873,7 → 873,6
<service>
<name>LoadCourseUnit</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitService</implementationClass>
<description>Load course unit</description>
<isTransactional>true</isTransactional>
<filterChains>
884,7 → 883,6
<service>
<name>LoadCourseUnitCleared</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitService</implementationClass>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitService</implementationClass>
<description>Load course unit</description>
<isTransactional>true</isTransactional>
<defaultMethod>runCleared</defaultMethod>
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java
209,7 → 209,7
logger.error("Unidade sem turmas: " + courseUnit.getName() + " (" + courseUnit.getCode() + ")");
}
 
if(students.size() != courseUnit.getStudents().size())
if(initStudents && students.size() != courseUnit.getStudents().size())
{
for(Student s: courseUnit.getStudents())
{
/branches/v3/impl/src/java/pt/estgp/estgweb/web/WebProxy.java
1,11 → 1,9
package pt.estgp.estgweb.web;
 
import jomm.utils.StreamsUtils;
import org.apache.commons.httpclient.URIException;
import org.apache.commons.httpclient.util.URIUtil;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.StringsUtils;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
18,9 → 16,11
import java.io.OutputStream;
import java.net.*;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.zip.GZIPInputStream;
import java.util.zip.InflaterInputStream;
import java.util.zip.ZipInputStream;
import java.util.zip.InflaterInputStream;
import java.util.zip.GZIPInputStream;
 
/**
* @author Jorge Machado
197,8 → 197,24
String pathFinal = path.indexOf("?") >=0 ? URIUtil.encodePath(path.substring(0,path.indexOf("?")), "ISO-8859-1") + "?" +path.substring(path.indexOf("?")+1) : path;
System.out.println(pathFinal);
}
 
static Map<String,Boolean> urlOKCACHE = new HashMap<String, Boolean>();
static Map<String,Integer> urlOKCACHE_LAST_CHECK_COUNT = new HashMap<String, Integer>();
 
public static boolean checkExist( String server, String path)
{
String serverPathKey = server + "$" + path;
Boolean urlOk = urlOKCACHE.get(serverPathKey);
if(urlOk != null)
{
int count = urlOKCACHE_LAST_CHECK_COUNT.get(serverPathKey);
if(count > 0)
{
count = count-1;
urlOKCACHE_LAST_CHECK_COUNT.put(serverPathKey,count);
return urlOk;
}
}
 
String serverUrl = ConfigProperties.getProperty("server." + server);
String serverEncoding = ConfigProperties.getProperty(server + ".encoding");
210,19 → 226,27
try
{
 
String pathFinal = path.indexOf("?") >=0 ? URIUtil.encodePath(path.substring(0,path.indexOf("?")), "ISO-8859-1") + path.substring(path.indexOf("?")) : path;
System.out.println("Getting: " + serverUrl + pathFinal);
URL url = new URL(serverUrl + pathFinal);
String pathFinal = path.indexOf("?") >= 0 ? URIUtil.encodePath(path.substring(0,path.indexOf("?")), "ISO-8859-1") + path.substring(path.indexOf("?")) : path;
 
 
URLConnection con = url.openConnection();
InputStream stream = con.getInputStream();
String out = StreamsUtils.readString(stream);
stream.close();
System.out.println("Getting: " + serverUrl + pathFinal + " CHECK TIME");
URL url = new URL(serverUrl + pathFinal);
HttpURLConnection huc = (HttpURLConnection) url.openConnection();
huc.setRequestMethod("HEAD");
urlOKCACHE_LAST_CHECK_COUNT.put(serverPathKey,10);
if(huc.getResponseCode() == HttpURLConnection.HTTP_OK)
{
urlOKCACHE.put(serverPathKey,true);
huc.disconnect();
return true;
}
else
{
urlOKCACHE.put(serverPathKey,false);
huc.disconnect();
return false;
}
 
if(out.trim().length() == 0)
return false;
return true;
}
catch (FileNotFoundException e)
{
/branches/v3/impl/src/web/css/ipp/style.css
413,6 → 413,11
}
 
 
.link-effect
{
text-decoration: underline;
color: blue;
}
 
/*************************************************
BOOTSTRAP OVERRIDES
/branches/v3/impl/src/web/layout/headerTools.jsp
1,3 → 1,4
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %>
<%@ 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" %>
6,7 → 7,18
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
 
<logic:present name="UserSession">
INTRANET - (<bean:write name="UserSession" property="user.name"/> online)
<%
if(UserSessionProxy.loadUserSessionFromRequest(request).getUser() == null)
{
response.sendError(401);
return;
}
%>
<logic:present name="UserSession" property="user">
<logic:notEmpty name="UserSession" property="user">
INTRANET - (<bean:write name="UserSession" property="user.name"/> online)
</logic:notEmpty>
</logic:present>
 
<div id="google_translate_element" class="pull-right"></div>
<script type="text/javascript">
/branches/v3/impl/src/web/public/courses/courseSeparators.jsp
2,6 → 2,7
<%@ page import="pt.estgp.estgweb.web.WebProxy" %>
<%@ page import="java.math.BigDecimal" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %>
<%@ 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" %>
12,7 → 13,7
<jsp:useBean id="CourseView" type="pt.estgp.estgweb.domain.views.CourseView" scope="request"/>
 
<div class="seccao">
<h2>${CourseView.name} (<%=DaoFactory.getConfigurationDaoImpl().getNationalInstitutionCodeCreateTransaction()%> / ${CourseView.code})</h2>
<h2>${CourseView.name} (<%=ConfigProperties.getProperty("institution.national.code." + CourseView.getInstitutionalCode())%> / ${CourseView.code})</h2>
 
 
<logic:notEmpty name="CourseView" property="formatedDescription"><p>${CourseView.formatedDescription}</p></logic:notEmpty>
/branches/v3/impl/src/web/public/courses/courseList.jsp
1,8 → 1,5
<%@ page import="pt.estgp.estgweb.domain.views.CourseView" %>
<%@ page import="pt.estgp.estgweb.web.WebProxy" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="java.math.BigDecimal" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %>
<%@ 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" %>
17,7 → 14,7
<logic:notEmpty name="courseView" property="studiesPlanStreamId">
<li>
<%--<p><a href="javascript:showOrHideOne(${courseView.id})">${courseView.name}</a> - <%=Globals.NATIONAL_INSTITUTION_CODE%>/${courseView.code} - (<a href="<%=request.getContextPath() + "/startLoadCourse.do?type=" + request.getAttribute("type") + "&courseView.id=" + courseView.getId()%>"><bean:message key="course.studies.plan.users"/> </a>)</p>--%>
<p><a href="<%=request.getContextPath() + "/startLoadCourseSeparators.do?type=" + request.getAttribute("type") + "&courseView.id=" + courseView.getId()%>">${courseView.name}</a> - <%=DaoFactory.getConfigurationDaoImpl().getNationalInstitutionCodeCreateTransaction()%>/${courseView.code} </a></p>
<p><a href="<%=request.getContextPath() + "/startLoadCourseSeparators.do?type=" + request.getAttribute("type") + "&courseView.id=" + courseView.getId()%>">${courseView.name}</a> - <%=ConfigProperties.getProperty("institution.national.code." + courseView.getInstitutionalCode())%> /${courseView.code} </a></p>
<%--<div style="padding-left:20px;">--%>
<%--<div class="seccao borderLeft" style="display:none;" id="${courseView.id}">--%>
 
/branches/v3/impl/src/web/user/courseunits/courseunitworks.jsp
311,23 → 311,25
%>
 
</td>
<logic:empty name="work" property="courseUnitDeliverableView">
<td class="statusWARNING">
<bean:message key="courseunit.assignement.deliver.time.no"/>
</td>
</logic:empty>
<logic:notEmpty name="work" property="courseUnitDeliverableView">
<logic:equal name="work" property="lateDeliver" value="true">
<td class="statusERROR">
<bean:message key="courseunit.assignement.deliver.time.late"/>
<logic:notEqual value="nofile" name="work" property="deliverType">
<logic:empty name="work" property="courseUnitDeliverableView">
<td class="statusWARNING">
<bean:message key="courseunit.assignement.deliver.time.no"/>
</td>
</logic:equal>
<logic:notEqual name="work" property="lateDeliver" value="true">
<td class="statusOK">
<bean:message key="courseunit.assignement.deliver.time.ok"/>
</td>
</logic:notEqual>
</logic:notEmpty>
</logic:empty>
<logic:notEmpty name="work" property="courseUnitDeliverableView">
<logic:equal name="work" property="lateDeliver" value="true">
<td class="statusERROR">
<bean:message key="courseunit.assignement.deliver.time.late"/>
</td>
</logic:equal>
<logic:notEqual name="work" property="lateDeliver" value="true">
<td class="statusOK">
<bean:message key="courseunit.assignement.deliver.time.ok"/>
</td>
</logic:notEqual>
</logic:notEmpty>
</logic:notEqual>
<td>
${work.courseUnitDeliverableView.grade}
</td>
/branches/v3/impl/src/web/user/courseunits/courseunitassignement.jsp
19,85 → 19,85
<div id="contentPane">
<html:errors/>
<jomm:messages/>
<div class="seccao">
<h2>
<bean:message key="courseunit.assignement" arg0="${CourseUnitAssignementView.title}"/>
</h2>
 
 
<div class="form blockForm">
<table>
<tr>
<th>
<bean:message key="courseunit.title"/>
</th>
<td>
<bean:write name="CourseUnitAssignementView" property="title"/>
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.assignement.deliver.date"/>
</th>
<td>
<bean:write name="CourseUnitAssignementView" property="deliverDate"/>
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.assignement.deliver.type"/>
</th>
<td>
<bean:message key="courseunit.assignement.deliver.type.${CourseUnitAssignementView.deliverType}"/>
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.assignement.deliver.late.permission"/>
</th>
<td>
<logic:equal value="true" name="CourseUnitAssignementView" property="lateDelivers">
<bean:message key="yes"/>
</logic:equal>
<logic:notEqual value="true" name="CourseUnitAssignementView" property="lateDelivers">
<bean:message key="no"/>
</logic:notEqual>
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.description"/>
</th>
<td>
${CourseUnitAssignementView.formatedDescription}
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.status"/>
</th>
<td>
<logic:equal value="true" name="CourseUnitAssignementView" property="status">
<bean:message key="status.active"/>
</logic:equal>
<logic:notEqual value="true" name="CourseUnitAssignementView" property="status">
<bean:message key="status.inactive"/>
</logic:notEqual>
</td>
</tr>
<logic:notEmpty name="CourseUnitAssignementView" property="workFile">
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.assignement" arg0="${CourseUnitAssignementView.title}"/>
</div>
<div class="panel-body">
<table class="tablesorter-blue">
<tr>
<th>
<bean:message key="courseunit.assignement.file"/>
<bean:message key="courseunit.title"/>
</th>
<td>
<a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitAssignementView.workFile}"><bean:message key="courseunit.assignement.file"/></a>
<bean:write name="CourseUnitAssignementView" property="title"/>
</td>
</tr>
</logic:notEmpty>
</table>
</div>
<tr>
<th>
<bean:message key="courseunit.assignement.deliver.date"/>
</th>
<td>
<bean:write name="CourseUnitAssignementView" property="deliverDate"/>
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.assignement.deliver.type"/>
</th>
<td>
<bean:message key="courseunit.assignement.deliver.type.${CourseUnitAssignementView.deliverType}"/>
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.assignement.deliver.late.permission"/>
</th>
<td>
<logic:equal value="true" name="CourseUnitAssignementView" property="lateDelivers">
<bean:message key="yes"/>
</logic:equal>
<logic:notEqual value="true" name="CourseUnitAssignementView" property="lateDelivers">
<bean:message key="no"/>
</logic:notEqual>
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.description"/>
</th>
<td>
${CourseUnitAssignementView.formatedDescription}
</td>
</tr>
<tr>
<th>
<bean:message key="courseunit.status"/>
</th>
<td>
<logic:equal value="true" name="CourseUnitAssignementView" property="status">
<bean:message key="status.active"/>
</logic:equal>
<logic:notEqual value="true" name="CourseUnitAssignementView" property="status">
<bean:message key="status.inactive"/>
</logic:notEqual>
</td>
</tr>
<logic:notEmpty name="CourseUnitAssignementView" property="workFile">
<tr>
<th>
<bean:message key="courseunit.assignement.file"/>
</th>
<td>
<a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitAssignementView.workFile}"><bean:message key="courseunit.assignement.file"/></a>
</td>
</tr>
</logic:notEmpty>
</table>
 
 
 
<bean:define id="orderFirst" type="java.lang.String" scope="request" value=""/>
<bean:define id="orderLast" type="java.lang.String" scope="request" value=""/>
 
157,19 → 157,22
 
<html:hidden property="courseUnitView.id" value="${CourseUnitView.id}"/>
 
<a name="works"/>
<table class="dataTable">
<tr>
<th><bean:message key="courseunit.assignement.delivered.versions"/></th>
<th><html:link action="/user/startLoadCourseUnitAssignementFromHome?courseUnitAssignementView.id=${CourseUnitAssignementView.id}&sort=${orderFirst}#works"><bean:message key="courseunit.assignement.delivered.date.first.version"/></html:link></th>
<th><html:link action="/user/startLoadCourseUnitAssignementFromHome?courseUnitAssignementView.id=${CourseUnitAssignementView.id}&sort=${orderLast}#works"><bean:message key="courseunit.assignement.delivered.date"/></html:link></th>
<th><bean:message key="courseunit.assignement.deliver.time"/></th>
<th><bean:message key="number"/></th>
<th><bean:message key="name"/></th>
<th><bean:message key="courseunit.assignement.deliver.version"/></th>
<th><bean:message key="courseunit.assignement.deliver.grade"/></th>
<th><bean:message key="courseunit.assignement.deliver.obs"/></th>
</tr>
<a name="works"> </a>
<table class="tablesorter-blue">
<thead>
<tr>
<th><bean:message key="courseunit.assignement.delivered.versions"/></th>
<th><bean:message key="courseunit.assignement.delivered.date.first.version"/></th>
<th><bean:message key="courseunit.assignement.delivered.date"/></th>
<th><bean:message key="courseunit.assignement.deliver.time"/></th>
<th><bean:message key="number"/></th>
<th><bean:message key="name"/></th>
<th><bean:message key="courseunit.assignement.deliver.version"/></th>
<th><bean:message key="courseunit.assignement.deliver.grade"/></th>
<th><bean:message key="courseunit.assignement.deliver.obs"/></th>
</tr>
</thead>
<tbody>
<nested:iterate id="deliverable" property="courseUnitAssignementView.deliverables" type="pt.estgp.estgweb.domain.views.CourseUnitDeliverableView">
<tr>
<td align="right">
185,13 → 188,17
<td nowrap="nowrap" align="center">${deliverable.deliverDateMinutesSecondsStrFirstVersion} </td>
<td nowrap="nowrap" align="center">${deliverable.deliverDateStrMinutesSeconds} </td>
<logic:equal name="deliverable" property="lateDeliver" value="true">
<td class="statusERROR">
<bean:message key="courseunit.assignement.deliver.time.late"/>
<td>
<label class="statusERROR">
<bean:message key="courseunit.assignement.deliver.time.late"/>
</label>
</td>
</logic:equal>
<logic:notEqual name="deliverable" property="lateDeliver" value="true">
<td class="statusOK">
<bean:message key="courseunit.assignement.deliver.time.ok"/>
<td >
<label class="statusOK">
<bean:message key="courseunit.assignement.deliver.time.ok"/>
</label>
</td>
</logic:notEqual>
<td align="right">${deliverable.student.code}</td>
209,13 → 216,11
</td>
</tr>
</nested:iterate>
<tr>
<td colspan="7">
<input type="button" onclick="this.form.submit()" value="<bean:message key="confirm"/>"/>
</td>
</tr>
 
</tbody>
</table>
<input type="button" onclick="this.form.submit()" value="<bean:message key="confirm"/>"/>
</nested:form>
</div>
</div>
</div>
</div>
 
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/questionarioDashBoard.jsp
196,7 → 196,7
<td><%=cursoAfeto.getCodigoCurso()%></td>
<td><%=cursoAfeto.getNome()%></td>
<td>
<a class="btn btn-default" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioCourseDashBoard.jsp?cursoAfetoId=${cursoAfeto.id}" data-title="Acompanhamento de questionĂ¡rios do curso (${cursoAfeto.codigoCurso}) ${cursoAfeto.nome} da ${cursoAfeto.nomeInstituicao})" data-toggle="modal" data-target="#modalAjaxRequest">
<a class="btn btn-default link-effect" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioCourseDashBoard.jsp?cursoAfetoId=${cursoAfeto.id}" data-title="Acompanhamento de questionĂ¡rios do curso (${cursoAfeto.codigoCurso}) ${cursoAfeto.nome} da ${cursoAfeto.nomeInstituicao})" data-toggle="modal" data-target="#modalAjaxRequest">
<%=cursoAfeto.getUnidadesAfetas().size()%> UC's
</a>