Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1092 → Rev 1094

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