Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1882 → Rev 1883

/branches/grupo2/impl/src/web/admin/courses/departments.jsp
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>
 
 
<%