Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1617 → Rev 1618

/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 &amp;&amp; (RoleUsers("admin") || RoleUsers("all") || ( RoleUsers("event_class_manager") &amp;&amp; ParameterValuePrefixCheck("role_2_addRemove","event_manager_") ) )</expression>
<expression>AuthenticatedUsers &amp;&amp; (RoleUsers("admin") || RoleUsers("all") || RoleUsers("servicesRolesManagement") || ( RoleUsers("event_class_manager") &amp;&amp; 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());