/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/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 |
---|
528,4 → 528,13 |
.add(isNull("courseUnitEvaluation")) |
.list(); |
} |
public CourseUnit loadByEvaluationStreamId(String identifier) |
{ |
return |
(CourseUnit) |
createCriteria() |
.add(eq("evaluationStreamId",identifier)) |
.uniqueResult(); |
} |
} |
/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 |
+ * |