/branches/v3/impl/conf/WEB-INF/tags/printRoleGroup.tag |
---|
19,6 → 19,7 |
<%@attribute name="printOnlyList" type="java.lang.Boolean" required="false" %> |
<%@attribute name="ignoreUserId" type="java.lang.Long" required="false" %> |
<%@attribute name="useWellTitle" type="java.lang.Boolean" required="false" %> |
<%@attribute name="useModals" type="java.lang.Boolean" required="false" %> |
<% |
String idTemp = BytesUtils.generateHexKey() + role.replaceAll(" ", "_").replaceAll("\\.","_"); |
27,7 → 28,7 |
<!-- Usar o Angular para Printar os Roles --> |
<div class="clearfix"> |
<div class="col-md-12" id="printRoleModule<%=idTemp%>" ng-app="printRoleModule<%=idTemp%>" ng-controller="printRoleModuleController<%=idTemp%>"> |
<div class="col-md-12" style="padding: 0; margin: 0" id="printRoleModule<%=idTemp%>" ng-app="printRoleModule<%=idTemp%>" ng-controller="printRoleModuleController<%=idTemp%>"> |
<% |
if(printOnlyList == null || printOnlyList == false) |
42,15 → 43,28 |
<% |
} |
%> |
<div class="col-md-6"> |
<div class="col-md-6" style="padding: 2px; margin: 0"> |
<ul> |
<li ng-repeat="u in roleUsers" class="roleUser{{u.id}}"> |
<baco:isAdmin> |
<baco:hasRole role="admin,all,servicesRolesManagement,servicesCoursesManagement,services"> |
<% |
if(useModals != null && !useModals) |
{ |
%> |
<button type="button" class="btn btn-danger btn-xs" ng-click="removeUser( u.id )"><span class="glyphicon glyphicon-remove"/></button> |
<% |
} |
else |
{ |
%> |
<bacoTags:confirm icon="glyphicon glyphicon-remove" btnClass="btn btn-danger btn-xs"> |
<jsp:attribute name="targetFunction">removeUser<%=idTemp%>({{u.id}})</jsp:attribute> |
<jsp:attribute name="msg">Tem a certeza que deseja remover o utilizador {{u.name}} do grupo <bean:message key="user.role.${role}"/></jsp:attribute> |
</bacoTags:confirm> |
</baco:isAdmin> |
<% |
} |
%> |
</baco:hasRole> |
{{u.username}} |
<label ng-if="u.name"> |
64,8 → 78,8 |
</li> |
</ul> |
</div> |
<baco:isAdmin> |
<div class="col-md-6"> |
<baco:hasRole role="admin,all,servicesRolesManagement,servicesCoursesManagement,services"> |
<div class="col-md-6" style="padding: 2px; margin: 0"> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
75,7 → 89,7 |
<div class="web-messages"> </div> |
<div class="input-group"> |
<input type="text" id="queryPersons<%=idTemp%>" class="form-control" placeholder="Pesquisar..."> |
<input type="text" id="queryPersons<%=idTemp%>" onkeyup="if(event.keyCode == 13){searchPersons<%=idTemp%>();}" class="form-control" placeholder="Pesquisar..."> |
<span class="input-group-btn"> |
<button class="btn btn-secondary" type="button" onclick="searchPersons<%=idTemp%>();return false;"><span class="glyphicon glyphicon-search"/></button> |
</span> |
104,6 → 118,25 |
User |
</td> |
<td>{{f.sigesCode}}</td> |
<td> |
<% |
if(useModals != null && !useModals) |
{ |
%> |
<button type="button" class="btn btn-success btn-xs" ng-click="addUser( f.id )"><span class="glyphicon glyphicon-plus"/></button> |
<% |
} |
else |
{ |
%> |
<bacoTags:confirm icon="glyphicon glyphicon-plus" btnClass="btn btn-success btn-xs"> |
<jsp:attribute name="targetFunction">addUser<%=idTemp%>({{f.id}});angular.element($('#printRoleModule<%=idTemp%>')).scope().removeAllUsers();angular.element($('#printRoleModule<%=idTemp%>')).scope().$apply();</jsp:attribute> |
<jsp:attribute name="msg">Tem a certeza que deseja adicionar o utilizador {{f.name}} ao grupo <bean:message key="user.role.${role}"/></jsp:attribute> |
</bacoTags:confirm> |
<% |
} |
%> |
</td> |
</tr> |
</tbody> |
</table> |
114,6 → 147,8 |
</div> |
<script> |
//DECLARACAO DA APLICACAO LOCAL EM ANGULAR |
var printRoleModule<%=idTemp%> = angular.module('printRoleModule<%=idTemp%>', []); |
GLOBAL_BacoAngularAppDependencies.push('printRoleModule<%=idTemp%>'); |
125,7 → 160,22 |
{ |
$scope.findUser = []; |
} |
$scope.removeUser = function(id) |
{ |
if(confirm("Tem a certeza que deseja remover o utilizador?")) |
removeUser<%=idTemp%>(id); |
} |
$scope.addUser = function(id) |
{ |
if(confirm("Tem a certeza que deseja adicionar o utilizador?")) |
{ |
addUser<%=idTemp%>(id); |
$scope.removeAllUsers(); |
} |
} |
}); |
</script> |
<script language="javascript"> |
156,6 → 206,29 |
}); |
} |
function addUser<%=idTemp%>(id) |
{ |
widgetCallWithActionParameters( |
'<%=request.getContextPath()%>/user/json/model.do', |
'addRole2User', |
{ |
q : |
"{ userId : " + id + ", role : '${role}' }" |
} |
, |
$("#printRoleModule<%=idTemp%>"), |
function(response) |
{ |
angular.element($("#printRoleModule<%=idTemp%>")).scope().roleUsers = response.results; |
angular.element($("#printRoleModule<%=idTemp%>")).scope().$apply(); |
}, |
function(response) |
{ |
alert("Accao Falhou mas as resposta foi esta: " + JSON.stringify(response)); |
}); |
} |
function loadUserRoles<%=idTemp%>() |
{ |
widgetCallWithActionParameters( |
205,6 → 278,6 |
</script> |
</div> |
</baco:isAdmin> |
</baco:hasRole> |
</div> |
</div> |
/branches/v3/impl/conf/WEB-INF/tags/confirm.tag |
---|
13,11 → 13,12 |
<%@attribute name="label" type="java.lang.String" required="false" %> |
<%@attribute name="icon" type="java.lang.String" required="false" %> |
<%@attribute name="btnClass" type="java.lang.String" required="false" %> |
<%@attribute name="ng_click" type="java.lang.String" required="false" %> |
<logic:notEmpty name="targetUrl"> |
<button class="<%=btnClass != null ? btnClass : "btn btn-danger"%>" type="button" data-toggle="modal" data-target="#confirm-ModalGeneric" data-message="${msg}" data-href="<%=request.getContextPath()%>${targetUrl}"> |
<button <%=ng_click!= null ? "ng-click=\"" + ng_click + "\"":""%> class="<%=btnClass != null ? btnClass : "btn btn-danger"%>" type="button" data-toggle="modal" data-target="#confirm-ModalGeneric" data-message="${msg}" data-href="<%=request.getContextPath()%>${targetUrl}"> |
<logic:empty name="label"> |
${label} |
</logic:empty> |
28,7 → 29,7 |
</logic:notEmpty> |
<logic:notEmpty name="targetFunction"> |
<button class="<%=btnClass != null ? btnClass : "btn btn-danger"%>" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="${msg}" data-script="${targetFunction};$('#confirm-ModalFunction').modal('hide');"> |
<button <%=ng_click!= null ? "ng-click=\"" + ng_click + "\"":""%> class="<%=btnClass != null ? btnClass : "btn btn-danger"%>" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="${msg}" data-script="${targetFunction};$('#confirm-ModalFunction').modal('hide');"> |
<logic:empty name="label"> |
${label} |
</logic:empty> |
/branches/v3/impl/conf/WEB-INF/tags/reports/reportGroupPanel.tag |
---|
13,13 → 13,15 |
<%@attribute name="title" type="java.lang.String" required="true" %> |
<jsp:useBean id="reportGroup" type="pt.estgp.estgweb.domain.QuestionarioReportFileGroup" scope="request"/> |
<jsp:include page="/user/questionarios/reports/reportsHelp.jsp"/> |
<div class="panel panel-primary"> |
<div class="panel-heading"> |
${title} |
<bacoTags:callAjaxModal targetUrl="/user/questionarios/reports/reportsHelp.jsp" title="Ajuda sobre os Relatórios" btnClass="btn-info pull-right" btnLabel="Ajuda sobre Relatórios"/> |
<span class="badge"> Número de Controlo ${reportGroup.id} </span> |
<a class="btn btn-info pull-right" href="#" data-toggle="modal" data-target="#modal-help-reports"> |
Ajuda sobre os Relatórios |
</a> |
</div> |
<div class="panel-body"> |
<% |
/branches/v3/impl/conf/berserk/fcd.xml |
---|
544,7 → 544,7 |
<filterChain> |
<name>RoleAddRemoveManager</name> |
<expression>AuthenticatedUsers && (RoleUsers("admin") || RoleUsers("all") || ( RoleUsers("event_class_manager") && ParameterValuePrefixCheck("role_2_addRemove","event_manager_") ) )</expression> |
<expression>AuthenticatedUsers && (RoleUsers("admin") || RoleUsers("all") || RoleUsers("servicesRolesManagement") || ( RoleUsers("event_class_manager") && ParameterValuePrefixCheck("role_2_addRemove","event_manager_") ) )</expression> |
<description>Admins Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass> |
/branches/v3/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
52,6 → 52,7 |
*/ |
public static final String ROLE_ROLE_MANAGEMENT = "servicesRolesManagement"; |
public static final String ROLE_PROCESSES_ADMIN = "processes.admin"; |
public static final String INTRANET_IMPRESSAO_SERVICO_API = ConfigProperties.getProperty("impressao.servicos.api"); |
public static final boolean INTRANET_IMPRESSAO_SERVICO_AUTH = ConfigProperties.getBooleanProperty("impressao.servicos.auth"); |
465,6 → 466,16 |
public static final String ROLE_PRESIDENTE_CONCELHO_PEDAGOGICO = "pedagogicCouncil.president"; |
public static final String ROLE_PRESIDENTE_CTC_ESTG = "scientificCouncil.president.estg"; |
public static final String ROLE_PRESIDENTE_CTC_ESAE = "scientificCouncil.president.esae"; |
public static final String ROLE_PRESIDENTE_CTC_ESECS = "scientificCouncil.president.esecs"; |
public static final String ROLE_PRESIDENTE_CTC_ESS = "scientificCouncil.president.ess"; |
public static final String ROLE_MEMBRO_CTC_ESTG = "scientificCouncil.estg"; |
public static final String ROLE_MEMBRO_CTC_ESAE = "scientificCouncil.esae"; |
public static final String ROLE_MEMBRO_CTC_ESECS = "scientificCouncil.esecs"; |
public static final String ROLE_MEMBRO_CTC_ESS = "scientificCouncil.ess"; |
public static final String ROLE_BOARD_INSTITUTION = ConfigProperties.getProperty("institution.board.role"); |
public static final String ROLE_BOARD_SCHOOL_ESTG = ConfigProperties.getProperty("school.board.role." + ConfigProperties.getProperty("institution.code.prefix.inverse.ESTG")); |
public static final String ROLE_BOARD_SCHOOL_ESAE = ConfigProperties.getProperty("school.board.role." + ConfigProperties.getProperty("institution.code.prefix.inverse.ESAE")); |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/users/UserRoleConfigService.java |
---|
181,6 → 181,7 |
"user.role.servicesPrograms=Gestão de Programas Curriculares\n" + |
"user.role.servicesStudiesPlans=Gestão de Planos de Estudos\n" + |
"user.role.servicesCoursesManagement=Gestão de Cursos\n" + |
"user.role.servicesRolesManagement=Gestão de Papeis Institucionais\n" + |
"user.role.event_class_manager=Gestão de Classes de Eventos\n" + |
"user.role.event_manager_nfc=Gestão de Eventos do Nucleo de Formacao Continua\n" + |
"user.role.administrativeCouncil=Membro da Direcção\n" + |
193,11 → 194,22 |
"user.role.cesh.president=Presidente do DCESH\n" + |
"user.role.dtd.presidency=Membro da Presidencia do DTD\n" + |
"user.role.cesh.presidency=Membro da Presidencia do DCESH\n" + |
"user.role.scientificCouncil.president=Presidente do Conselho Científico\n" + |
"user.role.scientificCouncil.president=CTC Presidente (Não utilizado)\n" + |
"user.role.scientificCouncil.estg=CTC ESTG Membro\n" + |
"user.role.scientificCouncil.esae=CTC ESAE Membro\n" + |
"user.role.scientificCouncil.esecs=CTC ESECS Membro\n" + |
"user.role.scientificCouncil.ess=CTC ESS Membro\n" + |
"user.role.scientificCouncil.president.estg=CTC ESTG Presidente\n" + |
"user.role.scientificCouncil.president.esae=CTC ESAE Presidente\n" + |
"user.role.scientificCouncil.president.esecs=CTC ESECS Presidente\n" + |
"user.role.scientificCouncil.president.ess=CTC ESS Presidente\n" + |
"user.role.representativeCouncil.president=Presidente do Conselho de Representantes\n" + |
"user.role.pedagogicCouncil.president=Presidente do Conselho Pedagógico\n" + |
"user.role.representativeCouncil=Conselho de Representantes\n" + |
"user.role.scientificCouncil=Conselho Científico\n" + |
"user.role.scientificCouncil=CTC Membro (Não utilizado)\n" + |
"user.role.erasmusCouncil=Conselho Erasmus\n" + |
"user.role.pedagogicCouncil=Conselho Pedagógico\n" + |
"user.role.courseCoordinator=Coordenadores\n" + |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseDaoImpl.java |
---|
222,7 → 222,7 |
{ |
Criteria c = createCriteria(); |
if(!showWithStudiesPlanActive) |
if(showWithStudiesPlanActive) |
c.add(eq("showStudiesPlan", true)); |
if (degree != null && degree.length() > 0) |
/branches/v3/impl/src/web/admin/configuration/userRoles.jsp |
---|
99,7 → 99,7 |
<button style="float: right" class="btn btn-success" onclick="this.form.op.value='addNew';set(this.form,'addNew');this.form.submit()">Adicionar Novo</button> |
<button style="float: right" class="btn btn-default" onclick="this.form.op.value='checkNewRoles';set(this.form,'checkNewRoles');this.form.submit()">Carregar Novos Pepeis</button> |
<button style="float: right" class="btn btn-default" onclick="this.form.op.value='checkNewRoles';set(this.form,'checkNewRoles');this.form.submit()">Carregar Novos Papeis a partir da configuração</button> |
<button type="button" class="btn btn-info" onclick="$('.transl').toggle();toogleFiltersTransl();">Mostrar Traduções</button> |
</div> |
/branches/v3/impl/src/web/user/home/panels/academicTools.jsp |
---|
16,8 → 16,9 |
</baco:hasRole> |
<div class="list-group-item"><html:link action="/user/courseComissions">Informação Resumida de Cursos</html:link></div> |
<div class="list-group-item"><html:link action="/user/startFindCourseUnitAdminFromServiceZone"><bean:message key="courseunit.search"/></html:link></div> |
<baco:hasRole role="admin,all,servicesStudiesPlans,servicesCoursesManagement"> |
<baco:hasRole role="admin,all,servicesStudiesPlans,servicesCoursesManagement,servicesRolesManagement"> |
<div class="list-group-item"><html:link action="/user/startSelectCourseFromServiceZone">Gestão de Cursos</html:link></div> |
<div class="list-group-item"><html:link action="/user/showRoleUsers">Gestão de Papeis Institucionais</html:link></div> |
</baco:hasRole> |
</div> |
</div> |
/branches/v3/impl/src/web/user/profile/rolesCoordenacoes.jsp |
---|
New file |
0,0 → 1,158 |
<%@ page import="pt.estgp.estgweb.domain.Course" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %> |
<%@ page import="java.util.List" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@taglib prefix="bacoTags" tagdir="/WEB-INF/tags" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<% |
boolean showAllCourses = request.getParameter("showAllCourses") != null ? Boolean.parseBoolean(request.getParameter("showAllCourses")) : false; |
boolean showWithStudiesPlanActive = ! showAllCourses; |
List<String> institutionCodes = ConfigProperties.getListValues("institution.code.prefix.inverse."); |
%> |
<script> |
$(document).ready( |
function(){ |
} |
); |
function showInstitutionCode(institutionCode) |
{ |
<% |
for(String institutionCode: institutionCodes) |
{ |
%> |
if(institutionCode == '<%=institutionCode%>') |
{ |
$("#institution<%=institutionCode%>").show(); |
$("#institutionsSeparators<%=institutionCode%>").addClass("active"); |
} |
else |
{ |
$("#institution<%=institutionCode%>").hide(); |
$("#institutionsSeparators<%=institutionCode%>").removeClass("active"); |
} |
<% |
} |
%> |
} |
function showDegreeInst(degree,inst) |
{ |
$(".degree").hide(); |
$("#institution" + inst + " #degree" + degree).show(); |
$(".degreeSep").removeClass("active"); |
$("#degreeSeparators" + degree).addClass("active"); |
} |
</script> |
<p>Nesta listagem apenas são mostrados os Cursos publicos no Site do IPP, se o curso que procura não está listado clique aqui para ver todos <a class="btn btn-default" href="<%=request.getContextPath()%>/user/showRoleUsers.do?showAllCourses=true#comissoes">Mostrar Todos</a></p> |
<!--TBS DE INSTITUICAO--> |
<ul class="nav nav-tabs"> |
<% |
for(String institutionCode: institutionCodes) |
{ |
String institutionName = ConfigProperties.getProperty("institution.code." + institutionCode); |
%> |
<li id="institutionsSeparators<%=institutionCode%>"><a href="javascript:showInstitutionCode('<%=institutionCode%>')"><%=institutionName%></a></li> |
<% |
} |
%> |
</ul> |
<!--TBS DE INSTITUICAO--> |
<% |
for(String instCode : institutionCodes) |
{ |
%> |
<div class="panel panel-default" id="institution<%=instCode%>" style="display: none"> |
<div class="panel-heading"> |
Tipos de Curso da <%=ConfigProperties.getProperty("institution.code." + instCode)%> |
</div> |
<div class="panel-body"> |
<% |
List<String> degrees = DaoFactory.getCourseDaoImpl().findDegrees(instCode,showWithStudiesPlanActive); |
%> |
<!--TBS DE DEGREES--> |
<ul class="nav nav-tabs"> |
<% |
for(String degree: degrees) |
{ |
%> |
<li class="degreeSep" id="degreeSeparators<%=degree%>"><a href="javascript:showDegreeInst('<%=degree%>','<%=instCode%>')"><%=ConfigProperties.getProperty("course.degree.desc.plural." + degree)%></a></li> |
<% |
} |
%> |
</ul> |
<!--TBS DE DEGREES--> |
<% |
for(String degree: degrees) |
{ |
%> |
<div class="degree" id="degree<%=degree%>" style="display: none"> |
<% |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAllCoursesOrderByNameEvenWithoutCourseUnit(instCode,degree,showWithStudiesPlanActive); |
for(Course course: courses) |
{ |
request.setAttribute("course",course); |
%> |
<h4 class="well well-sm clearfix"> |
<%=course.getName()%> (<%=course.getCode()%>) |
<baco:isAdmin> |
<%--<bacoTags:callAjaxModal targetUrl="/user/courseControllerFromServiceZone.do?dispatch=editAdmin&courseView.id=${course.id}" title="Atalho para Edição do Curso ${course.name}" btnClass="btn btn-warning pull-right btn-xs" btnIconClass="glyphicon-wrench"/>--%> |
<a class="btn btn-warning pull-right btn-xs" target="_blank" href="<%=request.getContextPath()%>/user/courseControllerFromServiceZone.do?dispatch=editAdmin&courseView.id=${course.id}"> |
<span class="glyphicon glyphicon-wrench"></span> |
</a> |
</baco:isAdmin> |
</h4> |
<p>Papel da Coordenação:</label> |
<logic:notEmpty name="course" property="validationRole"><bean:message key="user.role.${course.validationRole}"/></logic:notEmpty> |
<logic:empty name="course" property="validationRole">Este curso não tem papel definido para a sua Coordenação, por favor contacte os serviços de informática, terá de ser definido um papel para a coordenação para lhe poder adicionar elementos</logic:empty> |
</p> |
<p>Coordenador: |
<% |
if(course.getCoordinator() != null) |
{ |
%><%=course.getCoordinator().getName()%> (<%=course.getCoordinator().getSigesCode()%>)<% |
} |
else |
{ |
%>Não está atribuido<% |
} |
%> |
</p> |
<% |
if(course.getValidationRole() != null && course.getValidationRole().length() > 0) |
{ |
%> |
<bacoTags:printRoleGroup title="Restante Coordenação" role="${course.validationRole}" transactional="true"/> |
<% |
} |
} |
%> |
</div><!--Degree div End--> |
<% |
} |
%> |
</div><!--Panel Body--> |
</div><!--Panel Instituicao--> |
<% |
} |
%> |
/branches/v3/impl/src/web/user/profile/rolesUsersHelp.jsp |
---|
New file |
0,0 → 1,30 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.User" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.Globals" %> |
<%@ 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" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<%@taglib prefix="bacoTags" tagdir="/WEB-INF/tags" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<h3 class="well">Papeis Institucionais</h3> |
<p>Os papeis institucionais, ou roles, são o coração das permissões no sistema PAE.</p> |
<p>No caso de encontrar algum erro na definição dos papeis, pedimos que contacte de imediato os serviços de informática do IPPortlagre.</p> |
<p>Existem vários utilizadores com permissão para gerir os papeis institucionais.</p> |
<p>Esses utilizadores são aqueles que dispõem do papel institucional "Gestão de Papeis Institucionais ou Administradores"</p> |
<p>Listamos de seguida os utilizadores com o papel "Gestão de Papeis Institucionais":</p> |
<% |
request.setAttribute("roleRoleManag",Globals.ROLE_ROLE_MANAGEMENT); |
%> |
<bacoTags:printRoleGroup useModals="false" role="${roleRoleManag}" transactional="false"/> |
/branches/v3/impl/src/web/user/profile/roleUsers.jsp |
---|
15,13 → 15,35 |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@taglib prefix="bacoTags" tagdir="/WEB-INF/tags" %> |
<% |
List<String> userRoles = UserRoleProxy.getUserRoles(); |
%> |
<div class="modal fade confirmModal" id="modal-help" tabindex="-1" role="dialog" > |
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false"> |
<!-- Modal content--> |
<div class="modal-content"> |
<div class="modal-header clearfix"> |
<h3 class="modal-title"> |
Ajuda sobre Papeis Institucionais |
<button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove small"></span></button> |
</h3> |
</div> |
<div class="modal-body"> |
<div> |
<jsp:include page="rolesUsersHelp.jsp"/> |
</div> |
<button type="button" class="btn btn-danger" data-dismiss="modal">Sair</button> |
</div> |
</div> |
</div> |
</div> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
Papeis Institucionais com relevância para os processos académicos no PAE |
<a class="btn btn-info pull-right" href="#" data-toggle="modal" data-target="#modal-help"> |
Ajuda sobre Papeis Institucionais |
</a> |
</div> |
<div class="panel-body"> |
33,173 → 55,139 |
request.setAttribute("roleBoardESS",Globals.ROLE_BOARD_SCHOOL_ESS); |
request.setAttribute("roleBoardESECS",Globals.ROLE_BOARD_SCHOOL_ESECS); |
request.setAttribute("rolePreCP",Globals.ROLE_PRESIDENTE_CONCELHO_PEDAGOGICO); |
%> |
<h1 class="well well-large">Papeis Institucionais com relevância em vários Processos</h1> |
<bacoTags:printRoleGroup role="${roleBoardIPP}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${rolePreCP}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESTG}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESAE}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESS}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESECS}" transactional="true" useWellTitle="true"/> |
request.setAttribute("rolePresCtcEstg",Globals.ROLE_PRESIDENTE_CTC_ESTG); |
request.setAttribute("rolePresCtcEsae",Globals.ROLE_PRESIDENTE_CTC_ESAE); |
request.setAttribute("rolePresCtcEsecs",Globals.ROLE_PRESIDENTE_CTC_ESECS); |
request.setAttribute("rolePresCtcEss",Globals.ROLE_PRESIDENTE_CTC_ESS); |
<h1 class="well well-large">Papeis especificos da Administração de Questionários</h1> |
<bacoTags:printRoleGroup role="questionarios.admin" transactional="true"/> |
<bacoTags:printRoleGroup role="questionarios.atribuicoes.admin" transactional="true"/> |
<bacoTags:printRoleGroup role="questionarios.atribuicoes.check_teachers" transactional="true"/> |
<bacoTags:printRoleGroup role="questionarios.gerais" transactional="true"/> |
<a name="comissoes"></a> |
<h1 class="well well-large">Comissões de Curso</h1> |
<% |
boolean showAllCourses = request.getParameter("showAllCourses") != null ? Boolean.parseBoolean(request.getParameter("showAllCourses")) : false; |
boolean showWithStudiesPlanActive = ! showAllCourses; |
List<String> institutionCodes = ConfigProperties.getListValues("institution.code.prefix.inverse."); |
request.setAttribute("roleMembroCtcEstg",Globals.ROLE_MEMBRO_CTC_ESTG); |
request.setAttribute("roleMembroCtcEsae",Globals.ROLE_MEMBRO_CTC_ESAE); |
request.setAttribute("roleMembroCtcEsecs",Globals.ROLE_MEMBRO_CTC_ESECS); |
request.setAttribute("roleMembroCtcEss",Globals.ROLE_MEMBRO_CTC_ESS); |
%> |
<script> |
$(document).ready( |
function(){ |
} |
); |
<div class="panel-group" id="accordion"> |
function showInstitutionCode(institutionCode) |
{ |
<% |
for(String institutionCode: institutionCodes) |
{ |
%> |
if(institutionCode == '<%=institutionCode%>') |
{ |
$("#institution<%=institutionCode%>").show(); |
$("#institutionsSeparators<%=institutionCode%>").addClass("active"); |
} |
else |
{ |
$("#institution<%=institutionCode%>").hide(); |
$("#institutionsSeparators<%=institutionCode%>").removeClass("active"); |
} |
<% |
} |
%> |
} |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<a data-toggle="collapse" data-parent="#accordion" href="#rolesGerais"> |
Papeis Institucionais IPP |
</a> |
</div> |
<div id="rolesGerais" class="panel-collapse collapse"> |
<div class="panel-body"> |
<bacoTags:printRoleGroup role="${roleBoardIPP}" transactional="true" useWellTitle="true"/> |
</div> |
</div> |
</div> |
function showDegreeInst(degree,inst) |
{ |
$(".degree").hide(); |
$("#institution" + inst + " #degree" + degree).show(); |
$(".degreeSep").removeClass("active"); |
$("#degreeSeparators" + degree).addClass("active"); |
} |
</script> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<a data-toggle="collapse" data-parent="#accordion" href="#pedagogico"> |
Conselho Pedagógico |
</a> |
</div> |
<div id="pedagogico" class="panel-collapse collapse"> |
<div class="panel-body"> |
<bacoTags:printRoleGroup role="${rolePreCP}" transactional="true" useWellTitle="true"/> |
</div> |
</div> |
</div> |
<p>Nesta listagem apenas são mostrados os Cursos publicos no Site do IPP, se o curso que procura não está listado clique aqui para ver todos <a class="btn btn-default" href="<%=request.getContextPath()%>/user/showRoleUsers.do?showAllCourses=true#comissoes">Mostrar Todos</a></p> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<a data-toggle="collapse" data-parent="#accordion" href="#escolas"> |
Direções das Escolas |
</a> |
</div> |
<div id="escolas" class="panel-collapse collapse"> |
<div class="panel-body"> |
<bacoTags:printRoleGroup role="${roleBoardESTG}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESAE}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESS}" transactional="true" useWellTitle="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESECS}" transactional="true" useWellTitle="true"/> |
</div> |
</div> |
</div> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<a data-toggle="collapse" data-parent="#accordion" href="#ctc"> |
Conselhos Técnico-científicos |
</a> |
</div> |
<div id="ctc" class="panel-collapse collapse"> |
<div class="panel-body"> |
<h2 class="well well-sm">ESTG</h2> |
<div class="clearfix"> |
<bacoTags:printRoleGroup role="${rolePresCtcEstg}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleMembroCtcEstg}" transactional="true"/> |
</div> |
<h2 class="well well-sm">ESECS</h2> |
<div class="clearfix"> |
<bacoTags:printRoleGroup role="${rolePresCtcEsecs}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleMembroCtcEsecs}" transactional="true"/> |
</div> |
<h2 class="well well-sm">ESAE</h2> |
<div class="clearfix"> |
<bacoTags:printRoleGroup role="${rolePresCtcEsae}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleMembroCtcEsae}" transactional="true"/> |
</div> |
<h2 class="well well-sm">ESS</h2> |
<div class="clearfix"> |
<bacoTags:printRoleGroup role="${rolePresCtcEss}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleMembroCtcEss}" transactional="true"/> |
</div> |
</div> |
</div> |
</div> |
<!--TBS DE INSTITUICAO--> |
<ul class="nav nav-tabs"> |
<% |
for(String institutionCode: institutionCodes) |
{ |
String institutionName = ConfigProperties.getProperty("institution.code." + institutionCode); |
%> |
<li id="institutionsSeparators<%=institutionCode%>"><a href="javascript:showInstitutionCode('<%=institutionCode%>')"><%=institutionName%></a></li> |
<% |
} |
%> |
</ul> |
<!--TBS DE INSTITUICAO--> |
<% |
for(String instCode : institutionCodes) |
{ |
%> |
<div class="panel panel-default" id="institution<%=instCode%>" style="display: none"> |
<div class="panel-heading"> |
Tipos de Curso da <%=ConfigProperties.getProperty("institution.code." + instCode)%> |
</div> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<a data-toggle="collapse" data-parent="#accordion" href="#questionarios"> |
Papeis especificos da Administração de Questionários |
</a> |
</div> |
<div id="questionarios" class="panel-collapse collapse"> |
<div class="panel-body"> |
<bacoTags:printRoleGroup role="questionarios.admin" transactional="true"/> |
<bacoTags:printRoleGroup role="questionarios.atribuicoes.admin" transactional="true"/> |
<bacoTags:printRoleGroup role="questionarios.atribuicoes.check_teachers" transactional="true"/> |
<bacoTags:printRoleGroup role="questionarios.gerais" transactional="true"/> |
</div> |
</div> |
</div> |
<% |
List<String> degrees = DaoFactory.getCourseDaoImpl().findDegrees(instCode,showWithStudiesPlanActive); |
%> |
<!--TBS DE DEGREES--> |
<ul class="nav nav-tabs"> |
<% |
for(String degree: degrees) |
{ |
%> |
<li class="degreeSep" id="degreeSeparators<%=degree%>"><a href="javascript:showDegreeInst('<%=degree%>','<%=instCode%>')"><%=ConfigProperties.getProperty("course.degree.desc.plural." + degree)%></a></li> |
<% |
} |
%> |
</ul> |
<!--TBS DE DEGREES--> |
<% |
for(String degree: degrees) |
{ |
%> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<a name="comissoes" data-toggle="collapse" data-parent="#accordion" href="#coordenacoes"> |
Coordenações de Curso |
</a> |
</div> |
<div id="coordenacoes" class="panel-collapse collapse"> |
<div class="panel-body"> |
<jsp:include page="rolesCoordenacoes.jsp"/> |
</div> |
</div> |
</div> |
<div class="degree" id="degree<%=degree%>" style="display: none"> |
<% |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAllCoursesOrderByNameEvenWithoutCourseUnit(instCode,degree,showWithStudiesPlanActive); |
for(Course course: courses) |
{ |
request.setAttribute("course",course); |
%> |
<h4 class="well well-sm clearfix"> |
<%=course.getName()%> (<%=course.getCode()%>) |
<baco:isAdmin> |
<a class="btn btn-warning pull-right btn-xs" target="_blank" href="<%=request.getContextPath()%>/user/courseControllerFromServiceZone.do?dispatch=editAdmin&courseView.id=${course.id}"> |
<span class="glyphicon glyphicon-wrench"></span> |
</a> |
</baco:isAdmin> |
</h4> |
<p>Papel da Coordenação:</label> |
<logic:notEmpty name="course" property="validationRole"><bean:message key="user.role.${course.validationRole}"/></logic:notEmpty> |
<logic:empty name="course" property="validationRole">Este curso não tem papel definido para a sua Coordenação, por favor contacte os serviços de informática, terá de ser definido um papel para a coordenação para lhe poder adicionar elementos</logic:empty> |
</p> |
<p>Coordenador: |
<% |
if(course.getCoordinator() != null) |
{ |
%><%=course.getCoordinator().getName()%> (<%=course.getCoordinator().getSigesCode()%>)<% |
} |
else |
{ |
%>Não está atribuido<% |
} |
%> |
</p> |
<% |
if(course.getValidationRole() != null && course.getValidationRole().length() > 0) |
{ |
%> |
<bacoTags:printRoleGroup title="Restante Coordenação" role="${course.validationRole}" transactional="true"/> |
<% |
} |
} |
%> |
</div><!--Degree div End--> |
<% |
} |
%> |
</div><!--Panel Body--> |
</div><!--Panel Instituicao--> |
<% |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</div> |
</div> |
</div> |
/branches/v3/impl/src/web/user/questionarios/reports/reportsHelp.jsp |
---|
15,215 → 15,234 |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<h3 class="well">Grupos de Relatórios</h3> |
<p>Os relatórios destinam-se a servir vários objectivos e vários destinatários com diferentes necessidades. Por essa razão foram criados os seguintes grupos de relatórios:</p> |
<ul> |
<li>Relatórios de Docente</li> |
<li>Relatórios de Curso Públicos</li> |
<li>Relatórios de Curso Reservados</li> |
<li>Relatório agregado das Escolas do Instituto</li> |
</ul> |
<div class="modal fade confirmModal" id="modal-help-reports" tabindex="-1" role="dialog" > |
<div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false"> |
<!-- Modal content--> |
<div class="modal-content"> |
<div class="modal-header clearfix"> |
<h3 class="modal-title"> |
Ajuda sobre Papeis Institucionais |
<button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove small"></span></button> |
</h3> |
</div> |
<div class="modal-body"> |
<h3 class="well">Grupos de Relatórios</h3> |
<p>Os relatórios destinam-se a servir vários objectivos e vários destinatários com diferentes necessidades. Por essa razão foram criados os seguintes grupos de relatórios:</p> |
<ul> |
<li>Relatórios de Docente</li> |
<li>Relatórios de Curso Públicos</li> |
<li>Relatórios de Curso Reservados</li> |
<li>Relatório agregado das Escolas do Instituto</li> |
</ul> |
<h3 class="well">Estado dos Relatórios</h3> |
<p>Um relatório poderá estar INATIVO, para efetitos validação pelos orgãos competentes, ou poderá estar ATIVO, sendo que neste caso são libertados todos os contextos de acesso permitidos.</p> |
<p>Da mesma forma um grupo completo de relatórios poderá estar totalmente INATIVO ou ATIVO</p> |
<h3 class="well">Estado dos Relatórios</h3> |
<p>Um relatório poderá estar INATIVO, para efetitos validação pelos orgãos competentes, ou poderá estar ATIVO, sendo que neste caso são libertados todos os contextos de acesso permitidos.</p> |
<p>Da mesma forma um grupo completo de relatórios poderá estar totalmente INATIVO ou ATIVO</p> |
<h3 class="well">Intervenientes no Processo</h3> |
<p>Existem diversos intervenientes no processo: pessoas e orgãos. Dependendo do contexto em questão, estes intervenientes, poderão ter acesso à informação aqui disponibilizada.</p> |
<p>Segue-se uma tabela de direitos de acesso que define, dependendo do contexto, quem pode ou não aceder à informação presente nos relatórios</p> |
<p>Por exemplo uma coordenação de curso marcada como podendo aceder à informação será apenas no contexto do seu curso ou do docente que integra o mesmo. Uma direcção de escola marcada como podendo aceder à informação, é considerada a direção da escola onde o curso ou o docente se integra.</p> |
<h3 class="well">Intervenientes no Processo</h3> |
<p>Existem diversos intervenientes no processo: pessoas e orgãos. Dependendo do contexto em questão, estes intervenientes, poderão ter acesso à informação aqui disponibilizada.</p> |
<p>Segue-se uma tabela de direitos de acesso que define, dependendo do contexto, quem pode ou não aceder à informação presente nos relatórios</p> |
<p>Por exemplo uma coordenação de curso marcada como podendo aceder à informação será apenas no contexto do seu curso ou do docente que integra o mesmo. Uma direcção de escola marcada como podendo aceder à informação, é considerada a direção da escola onde o curso ou o docente se integra.</p> |
<table class="tablesorter-blue"> |
<thead> |
<tr> |
<th>Grupo</th> |
<th>No Estado</th> |
<th>Administração IPP</th> |
<th>Presidentes do Pedagógico</th> |
<th>Docente</th> |
<th>Coord. Curso</th> |
<th>Direção Escola</th> |
<th>Alunos</th> |
</tr> |
</thead> |
<tbody> |
<tr> |
<th rowspan="2">Relatório de Docente</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<table class="tablesorter-blue"> |
<thead> |
<tr> |
<th>Grupo</th> |
<th>No Estado</th> |
<th>Administração IPP</th> |
<th>Presidentes do Pedagógico</th> |
<th>Docente</th> |
<th>Coord. Curso</th> |
<th>Direção Escola</th> |
<th>Alunos</th> |
</tr> |
</thead> |
<tbody> |
<tr> |
<th rowspan="2">Relatório de Docente</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Arquivo ZIP com todos os Relatórios de Docente</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Arquivo ZIP com todos os Relatórios de Docente</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Relatório de Curso Público</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Relatório de Curso Público</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Arquivo ZIP com todos os Relatórios de Curso Publicos</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
</tr> |
<tr> |
<th rowspan="2">Arquivo ZIP com todos os Relatórios de Curso Publicos</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
</tr> |
<tr> |
<th rowspan="2">Relatório de Curso Reservado</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Relatório de Curso Reservado</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Arquivo ZIP com todos os Relatórios de Curso Reservados</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Arquivo ZIP com todos os Relatórios de Curso Reservados</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Relatório agregado das Escolas do Instituto</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th rowspan="2">Relatório agregado das Escolas do Instituto</th> |
<th>Ativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
<tr> |
<th>Inativo</th> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td><span class="glyphicon glyphicon-ok"></span></td> |
<td></td> |
<td></td> |
<td></td> |
<td></td> |
</tr> |
</tbody> |
</table> |
</tbody> |
</table> |
<baco:hasRole role="admin,questionarios.admin,pedagogicCouncil.president,board.institution"> |
<h3 class="well">Intervenientes no Processo em Sistema <label class="label label-info">Esta informação é visivel apenas a membros da Administração e Presidentes do Pedagógico</label></h3> |
<p>Caso algum dos intervenientes esteja mal atribuido contacte de imediato a administração de sistemas do IPP</p> |
<baco:hasRole role="admin,questionarios.admin,pedagogicCouncil.president,board.institution"> |
<h3 class="well">Intervenientes no Processo em Sistema <label class="label label-info">Esta informação é visivel apenas a membros da Administração e Presidentes do Pedagógico</label></h3> |
<p>Caso algum dos intervenientes esteja mal atribuido contacte de imediato a administração de sistemas do IPP</p> |
<% |
AbstractDao.getCurrentSession().beginTransaction(); |
request.setAttribute("roleBoardIPP",Globals.ROLE_BOARD_INSTITUTION); |
request.setAttribute("roleBoardESTG",Globals.ROLE_BOARD_SCHOOL_ESTG); |
request.setAttribute("roleBoardESAE",Globals.ROLE_BOARD_SCHOOL_ESAE); |
request.setAttribute("roleBoardESS",Globals.ROLE_BOARD_SCHOOL_ESS); |
request.setAttribute("roleBoardESECS",Globals.ROLE_BOARD_SCHOOL_ESECS); |
request.setAttribute("rolePreCP",Globals.ROLE_PRESIDENTE_CONCELHO_PEDAGOGICO); |
%> |
<bacoTags:printRoleGroup role="${roleBoardIPP}" transactional="true"/> |
<bacoTags:printRoleGroup role="${rolePreCP}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESTG}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESAE}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESS}" transactional="true"/> |
<bacoTags:printRoleGroup role="${roleBoardESECS}" transactional="true"/> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</baco:hasRole> |
<% |
request.setAttribute("roleBoardIPP",Globals.ROLE_BOARD_INSTITUTION); |
request.setAttribute("roleBoardESTG",Globals.ROLE_BOARD_SCHOOL_ESTG); |
request.setAttribute("roleBoardESAE",Globals.ROLE_BOARD_SCHOOL_ESAE); |
request.setAttribute("roleBoardESS",Globals.ROLE_BOARD_SCHOOL_ESS); |
request.setAttribute("roleBoardESECS",Globals.ROLE_BOARD_SCHOOL_ESECS); |
request.setAttribute("rolePreCP",Globals.ROLE_PRESIDENTE_CONCELHO_PEDAGOGICO); |
%> |
<bacoTags:printRoleGroup useModals="false" role="${roleBoardIPP}" transactional="true"/> |
<bacoTags:printRoleGroup useModals="false" role="${rolePreCP}" transactional="true"/> |
<bacoTags:printRoleGroup useModals="false" role="${roleBoardESTG}" transactional="true"/> |
<bacoTags:printRoleGroup useModals="false" role="${roleBoardESAE}" transactional="true"/> |
<bacoTags:printRoleGroup useModals="false" role="${roleBoardESS}" transactional="true"/> |
<bacoTags:printRoleGroup useModals="false" role="${roleBoardESECS}" transactional="true"/> |
</baco:hasRole> |
<button type="button" class="btn btn-danger" data-dismiss="modal">Sair</button> |
</div> |
</div> |
</div> |
</div> |
/branches/v3/impl/src/web/user/questionarios/reports/showReportsPedagogicoEstudante.jsp |
---|
18,18 → 18,25 |
<%@taglib prefix="bacoTags" tagdir="/WEB-INF/tags" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<% |
AbstractDao.getCurrentSession().beginTransaction(); |
%> |
<jsp:include page="reportsHelp.jsp"/> |
<div class="container-fluid"> |
<div class="panel panel-primary"> |
<div class="panel-heading"> |
Consulta de Relatórios de Respostas dos Alunos aos Inquéritos Pedagógicos |
<bacoTags:callAjaxModal targetUrl="/user/questionarios/reports/reportsHelp.jsp" title="Ajuda sobre os Relatórios" btnClass="btn-info pull-right" btnLabel="Ajuda sobre Relatórios"/> |
<a class="btn btn-info pull-right" href="#" data-toggle="modal" data-target="#modal-help-reports"> |
Ajuda sobre os Relatórios |
</a> |
</div> |
<div class="panel-body"> |
<% |
AbstractDao.getCurrentSession().beginTransaction(); |
Query q = AbstractDao.getCurrentSession().createQuery("" + |
"select distinct(importYear) from " + QuestionarioReportFileGroupAno.class.getName()); |