Rev 1729 | 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.domain.CourseSchool" %>
<%@ page import="pt.estgp.estgweb.domain.CourseSchoolImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="pt.estgp.estgweb.domain.ConfigurationSeparator" %>
<%@ page import="pt.estgp.estgweb.domain.ConfigurationSeparatorImpl" %>
<%@ 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-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" %>
<baco:isAdmin>
<%
AbstractDao.getCurrentSession().beginTransaction();
ArrayList<CourseSchool> schools = (ArrayList<CourseSchool>) DaoFactory.getCourseSchoolDaoImpl().findAll();
String jsonArraySchools = CourseSchoolImpl.getJson(schools);
ArrayList<ConfigurationSeparator> seps = (ArrayList<ConfigurationSeparator>) DaoFactory.getConfigurationSeparatorDaoImpl().findAll();
String jsonArraySeps = ConfigurationSeparatorImpl.getJson(seps);
request.setAttribute("jsonArraySchools",jsonArraySchools);
request.setAttribute("schools",schools);
request.setAttribute("jsonArraySeps",jsonArraySeps);
request.setAttribute("seps",seps);
%>
<div class="container-fluid">
<div id="configSepModule"
ng-app="configSepModule"
ng-controller="configSepModuleController">
<script>
//DECLARACAO DA APLICACAO LOCAL EM ANGULAR
var configSepModule = angular.module('configSepModule', ['ui.tree']);
GLOBAL_BacoAngularAppDependencies.push('configSepModule');
configSepModule.controller('configSepModuleController', function($scope) {
$scope.schools = ${jsonArraySchools};
$scope.seps = ${seps};
$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">Explicação do Módulo:</label> </p>
<ul>
<li>Papeis das Escolas são usados para decidir quem vê o separador</li>
<li>Necessita de confirmação de Funcionários, Alunos e Professores</li>
<li>Necessita de escolha das escolas afetas</li>
<li>Necessita de escolha se aparece no DashBoard (PAE) ou eEscola (BACO)</li>
<li>Necessita de escolha da pasta do Virtual File System a escolher</li>
<li>O Módulo de escrita de separadores seprators.jsp depende deste sistema</li>
</ul>
<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($('#configSepModule')).scope().removeSchool({{d}},{{$index}});angular.element($('#configSepModule')).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();
%>
</baco:isAdmin>
Generated by GNU Enscript 1.6.5.2.