/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> |