42,229 → 42,229 |
|
<div class="container-fluid"> |
|
<div id="departmentsModule" |
ng-app="departmentsModule" |
ng-controller="departmentsModuleController"> |
<div id="departmentsModule" |
ng-app="departmentsModule" |
ng-controller="departmentsModuleController"> |
|
<script> |
//DECLARACAO DA APLICACAO LOCAL EM ANGULAR |
var departmentsModule = angular.module('departmentsModule', []); |
GLOBAL_BacoAngularAppDependencies.push('departmentsModule'); |
<script> |
//DECLARACAO DA APLICACAO LOCAL EM ANGULAR |
var departmentsModule = angular.module('departmentsModule', []); |
GLOBAL_BacoAngularAppDependencies.push('departmentsModule'); |
|
departmentsModule.controller('departmentsModuleController', function($scope) { |
$scope.departments = ${jsonArrayDepartments}; |
$scope.schools = ${jsonArraySchools}; |
$scope.setDirty = function(department) |
{ |
department.dirty = "true"; |
} |
$scope.save = function(department) |
{ |
var d = JSON.stringify(department); |
departmentsModule.controller('departmentsModuleController', function($scope) { |
$scope.departments = ${jsonArrayDepartments}; |
$scope.schools = ${jsonArraySchools}; |
$scope.setDirty = function(department) |
{ |
department.dirty = "true"; |
} |
$scope.save = function(department) |
{ |
var d = JSON.stringify(department); |
|
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"updateCourseDepartment", |
{ |
"courseDepartmentJson" : d |
}, |
".form-horizontal", |
function(departmentJson) |
{ |
department.dirty = "false"; |
$scope.$apply(); |
} |
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"updateCourseDepartment", |
{ |
"courseDepartmentJson" : d |
}, |
".form-horizontal", |
function(departmentJson) |
{ |
department.dirty = "false"; |
$scope.$apply(); |
} |
|
); |
} |
); |
} |
|
$scope.createRoles = function(department) |
{ |
var d = JSON.stringify(department); |
$scope.createRoles = function(department) |
{ |
var d = JSON.stringify(department); |
|
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"createRolesForDeparment", |
{ |
"courseDepartmentJson" : d |
}, |
".form-horizontal", |
function(departmentJson) |
{ |
window.location.reload(); |
} |
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"createRolesForDeparment", |
{ |
"courseDepartmentJson" : d |
}, |
".form-horizontal", |
function(departmentJson) |
{ |
window.location.reload(); |
} |
|
); |
} |
$scope.removeDepartment = function(department,$index) |
{ |
); |
} |
$scope.removeDepartment = function(department,$index) |
{ |
|
var d = JSON.stringify(department); |
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"removeCourseDepartment", |
{ |
"courseDepartmentJson" : d |
}, |
".form-horizontal", |
function(departmentJson) |
{ |
$scope.departments.splice($index,1); |
$scope.$apply(); |
} |
var d = JSON.stringify(department); |
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"removeCourseDepartment", |
{ |
"courseDepartmentJson" : d |
}, |
".form-horizontal", |
function(departmentJson) |
{ |
$scope.departments.splice($index,1); |
$scope.$apply(); |
} |
|
); |
} |
$scope.newDepartment = function() |
{ |
); |
} |
$scope.newDepartment = function() |
{ |
|
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"newCourseDepartment",{}, |
".form-horizontal", |
function(departmentJson) |
{ |
departmentJson.dirty = "true"; |
$scope.departments.push(departmentJson); |
$scope.$apply(); |
} |
widgetCallWithActionParameters( |
"<%=request.getContextPath()%>/admin/adminDepartment.do", |
"newCourseDepartment",{}, |
".form-horizontal", |
function(departmentJson) |
{ |
departmentJson.dirty = "true"; |
$scope.departments.push(departmentJson); |
$scope.$apply(); |
} |
|
); |
} |
); |
} |
|
}); |
</script> |
}); |
</script> |
|
|
|
<p><label class="label-info">Papeis dos Departamentos:</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>department.board: para membros da direcção</li> |
<li>department.diretor: para diretores direcção</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> |
<p><label class="label-info">Papeis dos Departamentos:</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>department.board: para membros da direcção</li> |
<li>department.diretor: para diretores direcção</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="newDepartment()"><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>Trocar Para Identificador * </th> |
<th>Ativo</th> |
<th>Instituição</th> |
<th style="width: 30%">Nome</th> |
<th>Papel para Membro da Direcao</th> |
<th>Papel para Director</th> |
<th></th> |
<th></th> |
<th></th> |
</tr> |
</thead> |
<tbody> |
<tr ng-class="{dirty: d.dirty=='true'}" ng-repeat="d in departments | orderBy:name:false"> |
<td> |
<div class="row"> |
<div class="col-md-8"> |
<input readonly="true" class="form-control" type="text" ng-model="d.sigla" ng-keyup="setDirty(d)"> |
</div> |
<div class="col-md-2">*</div> |
</div> |
<button class="btn btn-success pull-right" ng-click="newDepartment()"><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>Trocar Para Identificador * </th> |
<th>Ativo</th> |
<th>Instituição</th> |
<th style="width: 30%">Nome</th> |
<th>Papel para Membro da Direcao</th> |
<th>Papel para Director</th> |
<th></th> |
<th></th> |
<th></th> |
</tr> |
</thead> |
<tbody> |
<tr ng-class="{dirty: d.dirty=='true'}" ng-repeat="d in departments | orderBy:name:false"> |
<td> |
<div class="row"> |
<div class="col-md-8"> |
<input readonly="true" class="form-control" type="text" ng-model="d.sigla" ng-keyup="setDirty(d)"> |
</div> |
<div class="col-md-2">*</div> |
</div> |
|
</td> |
<td> |
<div class="row"> |
<div class="col-md-8"> |
<input class="form-control" type="text" ng-model="d.siglaNova" ng-keyup="setDirty(d)"> |
</div> |
<div class="col-md-2">*</div> |
</div> |
</td> |
<td> |
<select class="chosenOff form-control" 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> |
<select class="chosenOff form-control" ng-model="d.courseSchool.id" ng-change="setDirty(d)" ng-options="s.id as s.name for s in schools"> |
</select> |
</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> |
<td> |
<div class="row"> |
<div class="col-md-8"> |
<input class="form-control" type="text" ng-model="d.siglaNova" ng-keyup="setDirty(d)"> |
</div> |
<div class="col-md-2">*</div> |
</div> |
</td> |
<td> |
<select class="chosenOff form-control" 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> |
<select class="chosenOff form-control" ng-model="d.courseSchool.id" ng-change="setDirty(d)" ng-options="s.id as s.name for s in schools"> |
</select> |
</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"> |
<select class="chosenOff form-control" ng-model="d.boardRole" ng-change="setDirty(d)"> |
<option value="">Escolha</option> |
<logic:iterate id="role" name="rolesBoardDepartamento"> |
<option value="${role}"><bean:message key="user.role.${role}"/></option> |
</logic:iterate> |
</select> |
</td> |
<td style="font-size: 0.7em !important"> |
<select class="chosenOff form-control" ng-model="d.directorRole" ng-change="setDirty(d)"> |
<option value="">Escolha</option> |
<logic:iterate id="role" name="rolesDiretorDepartamento"> |
<option value="${role}"><bean:message key="user.role.${role}"/></option> |
</logic:iterate> |
</select> |
</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($('#departmentsModule')).scope().removeDepartment({{d}},{{$index}});angular.element($('#departmentsModule')).scope().$apply();" btnClass="btn btn-danger btn-xs" icon="glyphicon glyphicon-remove"/> |
</td> |
<td> |
<button ng-if="!d.directorRole && !d.boardRole" data-toggle="tooltip" data-title="Criar Roles para este departamento" type="button" class="btn btn-success btn-xs" ng-click="createRoles(d)"> |
<span class="glyphicon glyphicon-user"/> |
</button> |
</td> |
<td style="font-size: 0.7em !important"> |
<select class="chosenOff form-control" ng-model="d.boardRole" ng-change="setDirty(d)"> |
<option value="">Escolha</option> |
<logic:iterate id="role" name="rolesBoardDepartamento"> |
<option value="${role}"><bean:message key="user.role.${role}"/></option> |
</logic:iterate> |
</select> |
</td> |
<td style="font-size: 0.7em !important"> |
<select class="chosenOff form-control" ng-model="d.directorRole" ng-change="setDirty(d)"> |
<option value="">Escolha</option> |
<logic:iterate id="role" name="rolesDiretorDepartamento"> |
<option value="${role}"><bean:message key="user.role.${role}"/></option> |
</logic:iterate> |
</select> |
</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($('#departmentsModule')).scope().removeDepartment({{d}},{{$index}});angular.element($('#departmentsModule')).scope().$apply();" btnClass="btn btn-danger btn-xs" icon="glyphicon glyphicon-remove"/> |
</td> |
<td> |
<button ng-if="!d.directorRole && !d.boardRole" data-toggle="tooltip" data-title="Criar Roles para este departamento" type="button" class="btn btn-success btn-xs" ng-click="createRoles(d)"> |
<span class="glyphicon glyphicon-user"/> |
</button> |
</td> |
|
|
|
</tr> |
</tbody> |
</table> |
<h2 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</h2> |
<h2 class="label label-warning">* - A sigla apenas pode ser alterada se não houver docentes nem cursos a apontar para o departamento que pretende alterar</h2> |
<%-- |
<model:id name="department" property="id"/> |
<model:field name="department" property="name"/> |
<model:field name="department" property="nameEn"/> |
<model:field name="department" property="nameEs"/> |
<model:field name="department" property="nameFr"/> |
<model:remove name="department"/> |
--%> |
</div> |
</tr> |
</tbody> |
</table> |
<h2 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</h2> |
<h2 class="label label-warning">* - A sigla apenas pode ser alterada se não houver docentes nem cursos a apontar para o departamento que pretende alterar</h2> |
<%-- |
<model:id name="department" property="id"/> |
<model:field name="department" property="name"/> |
<model:field name="department" property="nameEn"/> |
<model:field name="department" property="nameEs"/> |
<model:field name="department" property="nameFr"/> |
<model:remove name="department"/> |
--%> |
</div> |
|
<!--<pre> |
{{departments | json}} |
</pre>--> |
<%-- DEBUG |
<pre> |
{{departments | json}} |
</pre> |
<pre> |
{{schools | json}} |
</pre> |
--%> |
</div> |
<!--<pre> |
{{departments | json}} |
</pre>--> |
<%-- DEBUG |
<pre> |
{{departments | json}} |
</pre> |
<pre> |
{{schools | json}} |
</pre> |
--%> |
</div> |
|
|
</div> |
|
<p>* Atenção o identificador é a base dos papeis, deverá trocar também as chaves dos papeis na administração de papeis institucionais, procurando pelos papeis respectivos e alterando a sua chave para a nova sigla ou criando novos papeis</p> |
<p>* Atenção o identificador é a base dos papeis, deverá trocar também as chaves dos papeis na administração de papeis institucionais, procurando pelos papeis respectivos e alterando a sua chave para a nova sigla ou criando novos papeis</p> |
|
|
<% |