/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
6,6 → 6,7 |
import org.hibernate.criterion.Criterion; |
import org.hibernate.criterion.Order; |
import org.hibernate.sql.JoinFragment; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.dao.DaoUtils; |
507,7 → 508,7 |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear()); |
for(Course course: courses) |
{ |
if(userSession.getUser().hasRole(course.getValidationRole())) |
if(userSession.getUser().hasRole(course.getValidationRole()) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE)) |
{ |
List<CourseUnit> courseUnits = loadMissingProgramValidateGivenCourse(course.getId()); |
if(courseUnits != null && courseUnits.size() > 0) |
527,7 → 528,7 |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear()); |
for(Course course: courses) |
{ |
if(userSession.getUser().hasRole(course.getValidationRole())) |
if(userSession.getUser().hasRole(course.getValidationRole()) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE)) |
{ |
List<CourseUnit> courseUnits = loadMissingProgramGivenCourse(course.getId()); |
if(courseUnits != null && courseUnits.size() > 0) |
553,7 → 554,7 |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(); |
for(Course course: courses) |
{ |
if(userSession.getUser().hasRole(course.getValidationRole())) |
if(userSession.getUser().hasRole(course.getValidationRole()) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE)) |
{ |
List<CourseUnit> courseUnits = loadMissingEvaluationValidateGivenCourse(course.getId()); |
if(courseUnits != null && courseUnits.size() > 0) |
655,7 → 656,7 |
createCriteria() |
.createAlias("course", "c") |
.createAlias("courseUnitEvaluation", "ce") |
.createAlias("teachers","t") |
.createAlias("teachers", "t") |
.add(eq("t.id", userSession.getUser().getId())) |
.add(eq("importYear", activeYear)) |
//.add(not(eq("importYear", DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear()))) |
676,7 → 677,7 |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(); |
for(Course course: courses) |
{ |
if(userSession.getUser().hasRole(course.getValidationRole())) |
if(userSession.getUser().hasRole(course.getValidationRole()) || userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE)) |
{ |
List<CourseUnit> courseUnits = loadMissingEvaluation(course.getId()); |
if(courseUnits != null && courseUnits.size() > 0) |
/impl/src/web/user/courses/directedCoordinatedCoursesCourseView.jsp |
---|
68,17 → 68,24 |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</logic:equal> |
<logic:notEqual value="${courseView.coordinator.id}" name="UserSession" property="user.id"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</baco:hasRole> |
</logic:notEqual> |
<logic:notEqual value="${courseView.coordinator.id}" name="UserSession" property="user.id"> |
<baco:isTeacherOfCourseUnit courseUnitId="${courseUnitView.id}"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</baco:hasNotRole> |
</baco:isTeacherOfCourseUnit> |
</logic:notEqual> |
</logic:equal> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<logic:equal value="true" name="courseUnitView" property="validEvaluation"> |
<a href="<%=request.getContextPath()%>/repositoryStream/${courseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/avaliacao_icon.png"/></a> |
</logic:equal> |
</baco:hasRole> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms"> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<baco:isTeacherOfCourseUnit courseUnitId="${courseUnitView.id}"> |
<logic:equal value="true" name="courseUnitView" property="validEvaluation"> |
<a href="<%=request.getContextPath()%>/repositoryStream/${courseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/avaliacao_icon.png"/></a> |
175,17 → 182,24 |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</logic:equal> |
<logic:notEqual value="${courseView.coordinator.id}" name="UserSession" property="user.id"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</baco:hasRole> |
</logic:notEqual> |
<logic:notEqual value="${courseView.coordinator.id}" name="UserSession" property="user.id"> |
<baco:isTeacherOfCourseUnit courseUnitId="${courseUnitView.id}"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</baco:hasNotRole> |
</baco:isTeacherOfCourseUnit> |
</logic:notEqual> |
</logic:equal> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<logic:equal value="true" name="courseUnitView" property="validEvaluation"> |
<a href="<%=request.getContextPath()%>/repositoryStream/${courseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/avaliacao_icon.png"/></a> |
</logic:equal> |
</baco:hasRole> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms"> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<baco:isTeacherOfCourseUnit courseUnitId="${courseUnitView.id}"> |
<logic:equal value="true" name="courseUnitView" property="validEvaluation"> |
<a href="<%=request.getContextPath()%>/repositoryStream/${courseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/avaliacao_icon.png"/></a> |
278,23 → 292,30 |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</logic:equal> |
<logic:notEqual value="${courseView.coordinator.id}" name="UserSession" property="user.id"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</baco:hasRole> |
</logic:notEqual> |
<logic:notEqual value="${courseView.coordinator.id}" name="UserSession" property="user.id"> |
<baco:isTeacherOfCourseUnit courseUnitId="${courseUnitView.id}"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
</baco:hasNotRole> |
</baco:isTeacherOfCourseUnit> |
</logic:notEqual> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms"> |
</logic:equal> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<logic:equal value="true" name="courseUnitView" property="validEvaluation"> |
<a href="<%=request.getContextPath()%>/repositoryStream/${courseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/avaliacao_icon.png"/></a> |
</logic:equal> |
</baco:hasRole> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
<baco:isTeacherOfCourseUnit courseUnitId="${courseUnitView.id}"> |
<logic:equal value="true" name="courseUnitView" property="validEvaluation"> |
<a href="<%=request.getContextPath()%>/repositoryStream/${courseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/avaliacao_icon.png"/></a> |
</logic:equal> |
</baco:hasRole> |
<baco:hasNotRole role="${courseView.validationRole},courseValidatePrograms"> |
<baco:isTeacherOfCourseUnit courseUnitId="${courseUnitView.id}"> |
<logic:equal value="true" name="courseUnitView" property="validEvaluation"> |
<a href="<%=request.getContextPath()%>/repositoryStream/${courseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/avaliacao_icon.png"/></a> |
</logic:equal> |
</baco:isTeacherOfCourseUnit> |
</baco:hasNotRole> |
</logic:equal> |
</baco:isTeacherOfCourseUnit> |
</baco:hasNotRole> |
</baco:isNotAdmin> |
<baco:isAdmin> |
<html:link action="/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/edit.png"/></html:link> |
/impl/src/web/user/home/courseComission.jsp |
---|
New file |
0,0 → 1,200 |
<%@ page import="jomm.dao.utils.HibernateUtils" %> |
<%@ page import="jomm.utils.MessageResources" %> |
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.impl.CourseUnitDaoImpl" %> |
<%@ page import="java.util.List" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<% |
try{ |
HibernateUtils.getCurrentSession().beginTransaction(); |
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear(); |
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees(); |
List<CourseUnitDaoImpl.CourseMissingValidationProgram> result0 = DaoFactory.getCourseUnitDaoImpl().loadMissingPrograms(UserSession); |
List<CourseUnitDaoImpl.CourseMissingValidationProgram> result1 = DaoFactory.getCourseUnitDaoImpl().loadMissingProgramValidate(UserSession); |
List<CourseUnitDaoImpl.CourseMissingValidationEvaluation> result2 = DaoFactory.getCourseUnitDaoImpl().loadMissingEvaluationValidate(UserSession); |
List<CourseUnitDaoImpl.CourseMissingValidationEvaluation> result3 = DaoFactory.getCourseUnitDaoImpl().loadMissingEvaluation(UserSession); |
if(result0.size() > 0 || result1.size() > 0 || result2.size() > 0 || result3.size()>0) |
{ |
%> |
<div class="block"> |
<div class="panel panel-primary"> |
<div class="panel-heading">Tarefas das Comissões de Curso (<%=activeYear%>)</div> |
<div class="panel-body"> |
<p>Expanda os cursos e clique nas unidades para validar os relatórios de avaliação.</p> |
<p>No final de cada relatório existe um botão de validação para os membros das comissões dos cursos respectivos.</p> |
<% |
if(result1.size()>0) |
{ |
%> |
<div class="panel-body-h1">Fichas curriculares por validar</div> |
<ul> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationProgram mis:result1) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCoursesProgramsFromHome.do?courseId=<%=mis.course.getId()%>#<%=mis.course.getId()%>"><%=mis.course.getName()%> (<%=mis.courseUnits.size()%>)</a></li> |
<% |
} |
%> |
</ul> |
<% |
} |
%> |
<% |
if(result0.size()>0) |
{ |
%> |
<div class="panel-body-h1">Fichas curriculares por preencher</div> |
<ul> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationProgram mis:result0) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCoursesProgramsFromHome.do?courseId=<%=mis.course.getId()%>#<%=mis.course.getId()%>"><%=mis.course.getName()%> (<%=mis.courseUnits.size()%>)</a></li> |
<% |
} |
%> |
</ul> |
<% |
} |
%> |
<% |
if(result2.size()>0) |
{ |
%> |
<div class="panel-body-h1">Relatórios de avaliação por validar |
<% |
String sep = ""; |
if(activeDegrees != null) |
{ |
%> |
(graus em processo de validação: |
<% |
for(String activeDegree: activeDegrees) |
{ |
%> |
<%=sep + MessageResources.getInstance(request).getMessage("course."+activeDegree)%> |
<% |
sep = ", "; |
} |
%> |
) |
<% |
} |
%> |
</div> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationEvaluation mis:result2) |
{ |
%> |
<h2><a href="javascript:showOrHide('evaluationValidate<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%></a> (<%=mis.courseUnits.size()%>)</h2> |
<div id="evaluationValidate<%=mis.course.getId()%>" style="display: none"> |
<ul> |
<% |
for(CourseUnit cu: mis.courseUnits) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%></a></li> |
<% |
} |
%> |
</ul> |
</div> |
<% |
} |
%> |
<% |
} |
%> |
<% |
if(result3.size()>0) |
{ |
%> |
<div class="panel-body-h1">Relatórios de avaliação ainda não preenchidos |
<% |
String sep = ""; |
if(activeDegrees != null) |
{ |
%> |
(graus em processo de validação: |
<% |
for(String activeDegree: activeDegrees) |
{ |
%> |
<%=sep + MessageResources.getInstance(request).getMessage("course."+activeDegree)%> |
<% |
sep = ","; |
} |
%> |
) |
<% |
} |
%> |
</div> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationEvaluation mis:result3) |
{ |
%> |
<h2><a href="javascript:showOrHide('evaluationFill<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%></a> (<%=mis.courseUnits.size()%>)</h2> |
<div id="evaluationFill<%=mis.course.getId()%>" style="display: none"> |
<ul> |
<% |
for(CourseUnit cu: mis.courseUnits) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%></a></li> |
<% |
} |
%> |
</ul> |
</div> |
<% |
} |
%> |
<% |
} |
%> |
</div> |
</div> |
</div> |
<% |
} |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
}catch(Throwable e) |
{ |
System.out.println(e); |
e.printStackTrace(); |
} |
%> |
/impl/src/web/user/home/teacher.jsp |
---|
233,202 → 233,11 |
} |
%> |
<jsp:include page="courseComission.jsp"/> |
<% |
try{ |
HibernateUtils.getCurrentSession().beginTransaction(); |
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear(); |
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees(); |
List<CourseUnitDaoImpl.CourseMissingValidationProgram> result0 = DaoFactory.getCourseUnitDaoImpl().loadMissingPrograms(UserSession); |
List<CourseUnitDaoImpl.CourseMissingValidationProgram> result1 = DaoFactory.getCourseUnitDaoImpl().loadMissingProgramValidate(UserSession); |
List<CourseUnitDaoImpl.CourseMissingValidationEvaluation> result2 = DaoFactory.getCourseUnitDaoImpl().loadMissingEvaluationValidate(UserSession); |
List<CourseUnitDaoImpl.CourseMissingValidationEvaluation> result3 = DaoFactory.getCourseUnitDaoImpl().loadMissingEvaluation(UserSession); |
if(result0.size() > 0 || result1.size() > 0 || result2.size() > 0 || result3.size()>0) |
{ |
%> |
<div class="block"> |
<div class="panel panel-primary"> |
<div class="panel-heading">Tarefas das Comissões de Curso (<%=activeYear%>)</div> |
<div class="panel-body"> |
<p>Expanda os cursos e clique nas unidades para validar os relatórios de avaliação.</p> |
<p>No final de cada relatório existe um botão de validação para os membros das comissões dos cursos respectivos.</p> |
<% |
if(result1.size()>0) |
{ |
%> |
<div class="panel-body-h1">Fichas curriculares por validar</div> |
<ul> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationProgram mis:result1) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCoursesProgramsFromHome.do?courseId=<%=mis.course.getId()%>#<%=mis.course.getId()%>"><%=mis.course.getName()%> (<%=mis.courseUnits.size()%>)</a></li> |
<% |
} |
%> |
</ul> |
<% |
} |
%> |
<% |
if(result0.size()>0) |
{ |
%> |
<div class="panel-body-h1">Fichas curriculares por preencher</div> |
<ul> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationProgram mis:result0) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCoursesProgramsFromHome.do?courseId=<%=mis.course.getId()%>#<%=mis.course.getId()%>"><%=mis.course.getName()%> (<%=mis.courseUnits.size()%>)</a></li> |
<% |
} |
%> |
</ul> |
<% |
} |
%> |
<% |
if(result2.size()>0) |
{ |
%> |
<div class="panel-body-h1">Relatórios de avaliação por validar |
<% |
String sep = ""; |
if(activeDegrees != null) |
{ |
%> |
(graus em processo de validação: |
<% |
for(String activeDegree: activeDegrees) |
{ |
%> |
<%=sep + MessageResources.getInstance(request).getMessage("course."+activeDegree)%> |
<% |
sep = ", "; |
} |
%> |
) |
<% |
} |
%> |
</div> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationEvaluation mis:result2) |
{ |
%> |
<h2><a href="javascript:showOrHide('evaluationValidate<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%></a> (<%=mis.courseUnits.size()%>)</h2> |
<div id="evaluationValidate<%=mis.course.getId()%>" style="display: none"> |
<ul> |
<% |
for(CourseUnit cu: mis.courseUnits) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%></a></li> |
<% |
} |
%> |
</ul> |
</div> |
<% |
} |
%> |
<% |
} |
%> |
<% |
if(result3.size()>0) |
{ |
%> |
<div class="panel-body-h1">Relatórios de avaliação ainda não preenchidos |
<% |
String sep = ""; |
if(activeDegrees != null) |
{ |
%> |
(graus em processo de validação: |
<% |
for(String activeDegree: activeDegrees) |
{ |
%> |
<%=sep + MessageResources.getInstance(request).getMessage("course."+activeDegree)%> |
<% |
sep = ","; |
} |
%> |
) |
<% |
} |
%> |
</div> |
<% |
for(CourseUnitDaoImpl.CourseMissingValidationEvaluation mis:result3) |
{ |
%> |
<h2><a href="javascript:showOrHide('evaluationFill<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%></a> (<%=mis.courseUnits.size()%>)</h2> |
<div id="evaluationFill<%=mis.course.getId()%>" style="display: none"> |
<ul> |
<% |
for(CourseUnit cu: mis.courseUnits) |
{ |
%> |
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%></a></li> |
<% |
} |
%> |
</ul> |
</div> |
<% |
} |
%> |
<% |
} |
%> |
</div> |
</div> |
</div> |
<% |
} |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
}catch(Throwable e) |
{ |
System.out.println(e); |
e.printStackTrace(); |
} |
%> |
</td> |
</tr> |
</tbody> |
/impl/src/web/user/home/user.jsp |
---|
77,7 → 77,7 |
</baco:hasRole> |
<div class="block"> |
<div class="panel panel-primary"> |
<div class="panel-heading">Atalhas</div> |
<div class="panel-heading">Atalhos</div> |
<div class="panel-body"> |
<ul> |
<li> |
130,6 → 130,7 |
</div> |
</div> |
</div> |
<jsp:include page="courseComission.jsp"/> |
</td> |
</tbody> |
</table> |