/impl/src/java/jomm/dao/impl/AbstractDao.java |
---|
757,6 → 757,7 |
{ |
for (CLAZZ obj : objs) |
{ |
System.out.println("CLEARING: " + obj); |
evictAndDelete(obj); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitEvaluation.java |
---|
116,7 → 116,7 |
if(cu.getEvaluationStreamId() == null) |
{ |
String identifier = repositoryService.storeRepositoryFile(new FileInputStream(path), "application/pdf", "pdf",((int) new File(path).length()), cu.getCode() + "-evaluation.pdf", "courseunit.evaluation.description" + cu.getName(), ResourceAccessControlEnum.privateDomain,owner); |
String identifier = repositoryService.storeRepositoryFile(new FileInputStream(path), "application/pdf", "pdf",((int) new File(path).length()), cu.getCode() + "-evaluation.pdf", "courseunit.evaluation.description" + cu.getName(), ResourceAccessControlEnum.courseunitEvaluationDomain,owner); |
cu.setEvaluationStreamId(identifier); |
} |
else |
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadCourseUnitService.java |
---|
47,6 → 47,7 |
if(c == null) |
return null; |
CourseUnitView cV = new CourseUnitView(c,initTeachers,initStudents,initBlog); |
if(c.getProgramStreamId()!= null) |
/impl/src/java/pt/estgp/estgweb/services/authenticate/AuthenticateService.java |
---|
113,9 → 113,14 |
} |
logger.warn("user:" + username + " authenticated"); |
((UserSessionImpl)userSession).clearObjectsWithOpenTransaction(); |
//((UserSessionImpl)userSession).reset(); |
//((UserSessionImpl)userSession).clearObjectsWithOpenTransaction(); |
//DaoFactory.getUserSessionDaoImpl().flush(); |
//PASSWORD PARA SERVICOS FTP CLIENT |
((UserSessionImpl)userSession).put(FtpService.FTP_PASSWORD, DesUtils.getInstance().encrypt(password)); |
((UserSessionImpl) userSession).put(FtpService.FTP_PASSWORD, DesUtils.getInstance().encrypt(password)); |
//put password to be complete for advising |
userSession.setName(u.getName()); |
userSession.setUsername(u.getUsername()); |
/impl/src/java/pt/estgp/estgweb/services/authenticate/LogoutService.java |
---|
1,12 → 1,10 |
package pt.estgp.estgweb.services.authenticate; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import org.apache.log4j.Logger; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
/* |
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
30,6 → 28,8 |
{ |
logger.warn("user:" + userSession.getCookie() + " logout"); |
((UserSessionImpl)userSession).reset(); |
//TODO NOVO |
((UserSessionImpl)userSession).clearObjectsWithOpenTransaction(); |
return userSession; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java |
---|
180,7 → 180,7 |
{ |
responsableId = courseUnit.getResponsableTeacher().getId(); |
} |
courseView = new CourseView(courseUnit.getCourse(),false); |
} |
public String getEvaluationStreamId() { |
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java |
---|
102,6 → 102,22 |
} |
/** |
* Means that is teacher os responsable teacher or from course commission |
* Only works in open transaction |
* |
* Needs Course and Responsable Teacher loaded |
*/ |
public boolean isFromCourseUnitCommission(UserSession userSession) |
{ |
return userSession.getUser()!= null && |
(((UserImpl) userSession.getUser()).isTeacherOfCourseUnit(getId(), true) |
|| (getResponsableTeacher() != null && getResponsableTeacher().getId() == userSession.getUser().getId()) |
|| userSession.getUser().hasRole(getCourse().getValidationRole()) |
); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
492,7 → 492,7 |
.createAlias("courseUnitEvaluation", "ce") |
.add(eq("c.id", courseId)) |
.add(not(eq("importYear", DatesUtils.getImportYear()))) |
.add((and(isNotNull("evaluationStreamId"), not(eq("evaluationStreamId", ""))))) |
.add(ge("importYear", "201415")) |
.add((eq("ce.closed", false))) |
.list(); |
} |
522,10 → 522,19 |
{ |
return createCriteria() |
.createAlias("course", "c") |
.createAlias("courseUnitEvaluation", "ce") |
.add(eq("c.id", courseId)) |
.add(not(eq("importYear", DatesUtils.getImportYear()))) |
.add((or(isNull("evaluationStreamId"), eq("evaluationStreamId", "")))) |
.add(ge("importYear", "201415")) |
.add(isNull("courseUnitEvaluation")) |
.list(); |
} |
public CourseUnit loadByEvaluationStreamId(String identifier) |
{ |
return |
(CourseUnit) |
createCriteria() |
.add(eq("evaluationStreamId",identifier)) |
.uniqueResult(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/UserSessionImpl.java |
---|
1,22 → 1,18 |
package pt.estgp.estgweb.domain; |
import org.apache.commons.io.output.ByteArrayOutputStream; |
import java.io.Serializable; |
import java.io.ByteArrayInputStream; |
import java.io.ObjectOutputStream; |
import java.io.IOException; |
import java.util.*; |
import java.beans.XMLEncoder; |
import java.beans.XMLDecoder; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.io.Serializable; |
import java.util.Date; |
import java.util.HashSet; |
import java.util.Iterator; |
import java.util.Set; |
/** |
* @author Jorge Machado |
119,22 → 115,30 |
public void clearObjects() |
{ |
if (getObjects() == null || getObjects().size() == 0) |
{ |
return; |
} |
System.out.println("Clearing session from " + getObjects().size() + " objects"); |
for(SessionObject obj: getObjects()) |
System.out.println(obj.getId().getKeyId()); |
if(removeList != null) |
removeList.addAll(getObjects()); |
else |
removeList = getObjects(); |
setObjects(null); |
//todo NOVO Authenticate |
getObjects().clear(); |
} |
public void clearObjectsWithOpenTransaction() |
{ |
clearObjects(); |
if(removeList != null && removeList.size() > 0) |
{ |
DaoFactory.getSessionObjectDaoImpl().evictAndDelete(removeList); |
} |
} |
/impl/src/java/pt/estgp/estgweb/filters/chains/ResourceAccessControlEnum.java |
---|
16,7 → 16,9 |
superUserDomain("resource.access.superDomain",new ResourceAccessControlSuperDomainFilter()), |
courseunitDeliverableDomain("resource.access.courseunitDeliverableDomain",new ResourceAccessControlCourseUnitDeliverableFilter()), |
courseunitDomain("resource.access.courseunitDomain",new ResourceAccessControlCourseUnitFilter()), |
// Duarte Santos |
// Duarte Santos |
courseunitEvaluationDomain("resource.access.courseunitEvaluationDomain",new ResourceAccessControlCourseUnitEvaluationFilter()), |
surveyStatsDomain("resource.access.survey", new ResourceAccessControlSurvey()), |
processDomain("resource.access.process", new ResourceAccessControlProcessDomainFilter()); |
/impl/src/java/pt/estgp/estgweb/filters/filters/ResourceAccessControlCourseUnitEvaluationFilter.java |
---|
New file |
0,0 → 1,24 |
package pt.estgp.estgweb.filters.filters; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.filters.chains.ResourceAccessControlFilter; |
/** |
* @author Jorge Machado |
* @date 4/Jun/2008 |
* @see pt.estgp.estgweb.filters.filters |
*/ |
public class ResourceAccessControlCourseUnitEvaluationFilter extends ResourceAccessControlFilter |
{ |
private static final Logger logger = Logger.getLogger(ResourceAccessControlCourseUnitEvaluationFilter.class); |
public boolean canAccessResource(UserSession userSession, String identifier) |
{ |
CourseUnitImpl c = (CourseUnitImpl) DaoFactory.getCourseUnitDaoImpl().loadByEvaluationStreamId(identifier); |
return c.isFromCourseUnitCommission(userSession); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/hbm/pt/estgp/estgweb/domain/UserSession.hbm.xml |
---|
18,7 → 18,7 |
<property name="name" type="string"/> |
<property name="username" type="string"/> |
<many-to-one name="user" class="pt.estgp.estgweb.domain.User" outer-join="true" lazy="false"/> |
<set name="objects" cascade="all" inverse="true"><!--lazy="true">--> |
<set name="objects" cascade="save-update" inverse="true"><!--lazy="true">--> |
<key column="cookie"/> |
<one-to-many class="pt.estgp.estgweb.domain.SessionObject"/> |
</set> |
/impl/src/web/user/home/teacher.jsp |
---|
220,6 → 220,8 |
%> |
<div class="block"> |
<p class="WARNING"><label class="WARNING"> Tarefas das Comissões de Curso</label></p> |
<p>Expanda os cursos e clique nas unidades para entrar no Relatório</p> |
<p>No final de cada relatório têm um botão de validação se entender que aprova com o relatório</p> |
<ul> |
228,7 → 230,7 |
{ |
%> |
<li> |
<p>Fichas curriculares por validar</p> |
<h1>Fichas curriculares por validar</h1> |
<ul> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationProgram mis:result) |
249,14 → 251,15 |
%> |
<li> |
<p>Relatórios de avaliação por validar</p> |
<h1>Relatórios de avaliação por validar</h1> |
<ul> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationEvaluation mis:result2) |
{ |
%> |
<li><%=mis.course.getName()%> / <%=mis.course.getCode()%> |
<ul> |
<li> |
<h2><a href="javascript:showOrHide('evaluationValidate<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%></a> (<%=mis.courseUnits.size()%>)</h2> |
<ul id="evaluationValidate<%=mis.course.getId()%>" style="display: none"> |
<% |
for(CourseUnit cu: mis.courseUnits) |
{ |
283,14 → 286,15 |
%> |
<li> |
<p>Relatórios de avaliação ainda não preenchidos</p> |
<h1>Relatórios de avaliação ainda não preenchidos</h1> |
<ul> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationEvaluation mis:result3) |
{ |
%> |
<li><%=mis.course.getName()%> / <%=mis.course.getCode()%> |
<ul> |
<li> |
<h2><a href="javascript:showOrHide('evaluationFill<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%></a> (<%=mis.courseUnits.size()%>)</h2> |
<ul id="evaluationFill<%=mis.course.getId()%>" style="display: none"> |
<% |
for(CourseUnit cu: mis.courseUnits) |
{ |