Rev 1728 | Rev 1730 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.CourseSchool" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.web.filters.UserRoleProxy" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.domain.CourseSchoolImpl" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ 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-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="bacoTags" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
AbstractDao.getCurrentSession().beginTransaction();
ArrayList<CourseSchool> schools = (ArrayList<CourseSchool>) DaoFactory.getCourseSchoolDaoImpl().findAll();
String jsonArraySchools = CourseSchoolImpl.getJson(schools);
request.setAttribute("jsonArraySchools",jsonArraySchools);
request.setAttribute("schools",schools);
request.setAttribute("userRoleSchoolPresidents",UserRoleProxy.getUserRolesByPrefix("school.president"));
request.setAttribute("userRoleSchoolBoards",UserRoleProxy.getUserRolesByPrefix("school.board"));
request.setAttribute("userRoleSchoolSecretariados",UserRoleProxy.getUserRolesByPrefix("school.secretariado"));
request.setAttribute("userRoleCTCPresidents",UserRoleProxy.getUserRolesByPrefix("scientificCouncil.president"));
request.setAttribute("userRoleCTCBoards",UserRoleProxy.getUserRolesByPrefix("scientificCouncil.board"));
request.setAttribute("userRoleCTCSecretariados",UserRoleProxy.getUserRolesByPrefix("scientificCouncil.secretariado"));
request.setAttribute("userRolePedagogicoPresidents",UserRoleProxy.getUserRolesByPrefix("pedagogicCouncil.president"));
request.setAttribute("userRolePedagogicoBoards",UserRoleProxy.getUserRolesByPrefix("pedagogicCouncil.board"));
request.setAttribute("userRolePedagogicoSecretariados",UserRoleProxy.getUserRolesByPrefix("pedagogicCouncil.secretariado"));
request.setAttribute("userRoleFuncionarios",UserRoleProxy.getUserRolesByPrefix("worker."));
request.setAttribute("userRoleEstudantes",UserRoleProxy.getUserRolesByPrefix("student."));
request.setAttribute("userRoleDocentes",UserRoleProxy.getUserRolesByPrefix("teacher."));
%>
<div class="container-fluid">
<div id="schoolsModule"
ng-app="schoolsModule"
ng-controller="schoolsModuleController">
<script>
//DECLARACAO DA APLICACAO LOCAL EM ANGULAR
var schoolsModule = angular.module('schoolsModule', []);
GLOBAL_BacoAngularAppDependencies.push('schoolsModule');
schoolsModule.controller('schoolsModuleController', function($scope) {
$scope.schools = ${jsonArraySchools};
$scope.setDirty = function(school)
{
school.dirty = "true";
}
$scope.save = function(school)
{
var d = JSON.stringify(school);
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/admin/adminSchool.do",
"updateCourseSchool",
{
"courseSchoolJson" : d
},
".form-horizontal",
function(schoolJson)
{
school.dirty = "false";
$scope.$apply();
}
);
}
$scope.removeSchool = function(school,$index)
{
var d = JSON.stringify(school);
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/admin/adminSchool.do",
"removeCourseSchool",
{
"courseSchoolJson" : d
},
".form-horizontal",
function(schoolJson)
{
$scope.schools.splice($index,1);
$scope.$apply();
}
);
}
$scope.newSchool = function()
{
widgetCallWithActionParameters(
"<%=request.getContextPath()%>/admin/adminSchool.do",
"newCourseSchool",{},
".form-horizontal",
function(schoolJson)
{
schoolJson.dirty = "true";
$scope.schools.push(schoolJson);
$scope.$apply();
}
);
}
});
</script>
<p><label class="label-info">Papeis das Escolas:</label> Os papeis de departamento são escolhidos da lista de papeis do sistema considerando-se todos os papeis com os prefixos:</p>
<ul>
<li>school.president: para diretores de escola</li>
<li>school.board: para membros da direcção de escola</li>
<li>school.secretariado: para membros do secretariado de escola</li>
<li>scientificCouncil.president: para presidentes dos CTC</li>
<li>scientificCouncil.board: para membros do CTC</li>
<li>scientificCouncil.secretariado: para membros do secretariado do CTC</li>
<li>pedagogicCouncil.president: para presidentes de Pedagógico</li>
<li>pedagogicCouncil.board: para membros do Pedagógico</li>
<li>pedagogicCouncil.secretariado: para membros do secretariado do Pedagógico</li>
</ul>
<p>Caso seja necessário um novo papel deverá administrar os papeis institucionais dirija-se <html:link action="/user/configurationUserRoles">Aqui</html:link></p>
<button class="btn btn-default" data-toggle="collapse" data-target=".languageNames">Mostrar Campos Multinliguisticos</button>
<button class="btn btn-success pull-right" ng-click="newSchool()"><span class="glyphicon glyphicon-plus"/></button>
<div class="form-horizontal">
<div class="web-messages">
</div>
<table class="tablesorter-blue">
<thead>
<tr>
<th>Identificador</th>
<th>Ativo</th>
<th>Código de SIGES</th>
<th style="width: 30%">Nome</th>
<th>Papeis Direcção</th>
<th>Papeis CTC</th>
<th>Papeis Pedagógico</th>
<th>Papeis Escola</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-class="{dirty: d.dirty=='true'}" ng-repeat="d in schools | orderBy:institutionalCode:false">
<td>
<input class="form-control" type="hidden" ng-model="d.id">
<div class="row">
<div class="col-md-8">
{{d.id}}
</div>
<div class="col-md-2">*</div>
</div>
</td>
<td>
<select class="chosenOff" ng-model="d.active" ng-change="setDirty(d)">
<option ng-value="true" ng-selected="d.active == true">Ativo</option>
<option ng-value="false" ng-selected="d.active == false">Inativo</option>
</select>
</td>
<td>
<input class="form-control" type="text" ng-model="d.institutionalCode">
</td>
<td>
<input class="form-control" type="text" ng-model="d.name" ng-keyup="setDirty(d)">
<div class="languageNames collapse">
EN:<input class="form-control" type="text" ng-model="d.nameEn" ng-keyup="setDirty(d)">
ES:<input class="form-control" type="text" ng-model="d.nameEs" ng-keyup="setDirty(d)">
FR:<input class="form-control" type="text" ng-model="d.nameFr" ng-keyup="setDirty(d)">
</div>
</td>
<td style="font-size: 0.7em !important">
<div class="list-group">
<div class="list-group-item">
<select class="chosenOff" ng-model="d.schoolDirectorRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleSchoolPresidents">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.schoolBoardRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleSchoolBoards">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.schoolSecretariadoRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleSchoolSecretariados">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
</div>
</td>
<td style="font-size: 0.7em !important">
<div class="list-group">
<div class="list-group-item">
<select class="chosenOff" ng-model="d.ctcPresidentRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleCTCPresidents">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.ctcMemberRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleCTCBoards">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.ctcSecretariadoRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleCTCSecretariados">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
</div>
</td>
<td style="font-size: 0.7em !important">
<div class="list-group">
<div class="list-group-item">
<select class="chosenOff" ng-model="d.pedagogicoPresidentRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRolePedagogicoPresidents">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.pedagogicoMemberRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRolePedagogicoBoards">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.pedagogicoSecretariadoRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRolePedagogicoSecretariados">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
</div>
</td>
<td style="font-size: 0.7em !important">
<div class="list-group">
<div class="list-group-item">
<select class="chosenOff" ng-model="d.funcionarioRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleFuncionarios">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.studentRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleEstudantes">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
<div class="list-group-item">
<select class="chosenOff" ng-model="d.teacherRole" ng-change="setDirty(d)">
<option value="">Escolha</option>
<logic:iterate id="role" name="userRoleDocentes">
<option value="${role}"><bean:message key="user.role.${role}"/></option>
</logic:iterate>
</select>
</div>
</div>
</td>
<td>
<button type="button" class="btn btn-success btn-xs" ng-click="save(d)">
<span class="glyphicon glyphicon-ok"/>
</button>
</td>
<td>
<bacoTags:confirm msg="Tem a certeza que deseja remover o departamento {{d.name}}" targetFunction="angular.element($('#schoolsModule')).scope().removeSchool({{d}},{{$index}});angular.element($('#schoolsModule')).scope().$apply();" btnClass="btn btn-danger btn-xs" icon="glyphicon glyphicon-remove"/>
</td>
</tr>
</tbody>
</table>
<p class="label label-warning">* - A sigla é o identificador do departamento, altere a sigla apenas se perceber as suas implicações. Existem Classes no sistema que dependem da sigla do departamento, a sigla tem de ser unica</p>
<%--
<model:id name="school" property="id"/>
<model:field name="school" property="name"/>
<model:field name="school" property="nameEn"/>
<model:field name="school" property="nameEs"/>
<model:field name="school" property="nameFr"/>
<model:remove name="school"/>
--%>
</div>
</div>
</div>
<%
AbstractDao.getCurrentSession().getTransaction().commit();
%>
Generated by GNU Enscript 1.6.5.2.