Subversion Repositories bacoAlunos

Rev

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.