Subversion Repositories bacoAlunos

Rev

Rev 1728 | Rev 1730 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1728 Rev 1729
Line 9... Line 9...
9
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
9
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
10
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
10
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
11
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
11
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
12
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
12
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
13
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
13
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
-
 
14
<%@ taglib tagdir="/WEB-INF/tags" prefix="bacoTags" %>
14
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
15
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
15
<baco:isAdmin>
16
<baco:isAdmin>
16
<%
17
<%
17
    AbstractDao.getCurrentSession().beginTransaction();
18
    AbstractDao.getCurrentSession().beginTransaction();
18
 
19
 
Line 35... Line 36...
35
 
36
 
36
<div id="configSepModule"
37
<div id="configSepModule"
37
     ng-app="configSepModule"
38
     ng-app="configSepModule"
38
     ng-controller="configSepModuleController">
39
     ng-controller="configSepModuleController">
39
 
40
 
-
 
41
 
40
<script>
42
<script>
-
 
43
 
-
 
44
 
41
    //DECLARACAO DA APLICACAO LOCAL EM ANGULAR
45
    //DECLARACAO DA APLICACAO LOCAL EM ANGULAR
42
    var configSepModule = angular.module('configSepModule', ['ui.tree']);
46
    var configSepModule = angular.module('configSepModule', ['ui.tree','checklist-model']);
43
    GLOBAL_BacoAngularAppDependencies.push('configSepModule');
47
    GLOBAL_BacoAngularAppDependencies.push('configSepModule');
44
 
48
 
45
    configSepModule.controller('configSepModuleController', function($scope) {
49
    configSepModule.controller('configSepModuleController', function($scope) {
46
        $scope.schools = ${jsonArraySchools};
50
        $scope.schools = ${jsonArraySchools};
47
        $scope.seps = ${seps};
51
        $scope.seps = ${jsonArraySeps};
48
        $scope.setDirty = function(school)
52
        $scope.setDirty = function(school)
49
        {
53
        {
50
            school.dirty = "true";
54
            school.dirty = "true";
51
        }
55
        }
-
 
56
 
52
        $scope.save = function(school)
57
        $scope.save = function(separator)
53
        {
58
        {
54
            var d = JSON.stringify(school);
59
            var d = JSON.stringify(separator);
55
 
60
 
56
            widgetCallWithActionParameters(
61
            widgetCallWithActionParameters(
57
                    "<%=request.getContextPath()%>/admin/adminSchool.do",
62
                    "<%=request.getContextPath()%>/admin/setConfigurationSeparators.do",
58
                    "updateCourseSchool",
63
                    "updateConfigSeparator",
59
                    {
64
                    {
60
                        "courseSchoolJson" : d
65
                        "separatorJson" : d
61
                    },
66
                    },
62
                    ".form-horizontal",
67
                    ".form-horizontal",
63
                    function(schoolJson)
68
                    function(separatorJson)
64
                    {
69
                    {
65
                        school.dirty = "false";
70
                        separatorJson.dirty = "false";
66
                        $scope.$apply();
71
                        $scope.$apply();
67
                    }
72
                    }
68
 
73
 
69
            );
74
            );
70
        }
75
        }
71
        $scope.removeSchool = function(school,$index)
76
        $scope.removeSeparator = function(separator,$index)
72
        {
77
        {
73
 
78
 
74
            var d = JSON.stringify(school);
79
            var d = JSON.stringify(separator);
75
            widgetCallWithActionParameters(
80
            widgetCallWithActionParameters(
76
                    "<%=request.getContextPath()%>/admin/adminSchool.do",
81
                    "<%=request.getContextPath()%>/admin/setConfigurationSeparators.do",
77
                    "removeCourseSchool",
82
                    "removeConfigSeparator",
78
                    {
83
                    {
79
                        "courseSchoolJson" : d
84
                        "separatorJson" : d
80
                    },
85
                    },
81
                    ".form-horizontal",
86
                    ".form-horizontal",
82
                    function(schoolJson)
87
                    function(separatorJson)
83
                    {
88
                    {
84
                        $scope.schools.splice($index,1);
89
                        $scope.seps.splice($index,1);
85
                        $scope.$apply();
90
                        $scope.$apply();
86
                    }
91
                    }
87
 
92
 
88
            );
93
            );
89
        }
94
        }
90
        $scope.newSchool = function()
95
        $scope.newSeparator = function()
91
        {
96
        {
92
 
-
 
93
            widgetCallWithActionParameters(
97
            widgetCallWithActionParameters(
94
                    "<%=request.getContextPath()%>/admin/adminSchool.do",
98
                    "<%=request.getContextPath()%>/admin/setConfigurationSeparators.do",
95
                    "newCourseSchool",{},
99
                    "newConfigSeparator",
-
 
100
                    {},
96
                    ".form-horizontal",
101
                    ".form-horizontal",
97
                    function(schoolJson)
102
                    function(separatorJson)
98
                    {
103
                    {
99
                        schoolJson.dirty = "true";
104
                        separatorJson.dirty = "true";
100
                        $scope.schools.push(schoolJson);
105
                        $scope.seps.push(separatorJson);
101
                        $scope.$apply();
106
                        $scope.$apply();
102
                    }
107
                    }
103
 
-
 
104
            );
108
            );
105
        }
109
        }
106
 
110
 
107
    });
111
    });
108
</script>
112
</script>
109
 
113
 
110
 
114
 
111
 
115
 
112
<p><label class="label-info">Explicação do Módulo:</label> </p>
116
<p><label class="label-info">Informação sobre o Módulo:</label> </p>
113
<ul>
117
<ul>
114
    <li>Papeis das Escolas são usados para decidir quem vê o separador</li>
118
    <li>Papeis das Escolas são usados para decidir quem vê o separador</li>
115
    <li>Necessita de confirmação de Funcionários, Alunos e Professores</li>
119
    <li>Necessita de confirmação de Funcionários, Alunos e Professores</li>
116
    <li>Necessita de escolha das escolas afetas</li>
120
    <li>Necessita de escolha das escolas afetas</li>
117
    <li>Necessita de escolha se aparece no DashBoard (PAE) ou eEscola (BACO)</li>
121
    <li>Necessita de escolha se aparece no DashBoard (PAE) ou eEscola (BACO)</li>
118
    <li>Necessita de escolha da pasta do Virtual File System a escolher</li>
122
    <li>Necessita de escolha da pasta do Virtual File System a escolher</li>
119
    <li>O Módulo de escrita de separadores seprators.jsp depende deste sistema</li>
123
    <li>O Módulo de escrita de separadores seprators.jsp depende deste sistema</li>
120
 
124
 
121
</ul>
125
</ul>
122
 
126
 
-
 
127
 
-
 
128
 
-
 
129
 
-
 
130
 
123
<button class="btn btn-default" data-toggle="collapse" data-target=".languageNames">Mostrar Campos Multinliguisticos</button>
131
<button class="btn btn-default" data-toggle="collapse" data-target=".languageNames">Mostrar Campos Multinliguisticos</button>
124
 
132
 
125
<button class="btn btn-success pull-right" ng-click="newSchool()"><span class="glyphicon glyphicon-plus"/></button>
133
<button class="btn btn-success pull-right" ng-click="newSchool()"><span class="glyphicon glyphicon-plus"/></button>
126
<div class="form-horizontal">
134
<div class="form-horizontal">
127
    <div class="web-messages">
135
    <div class="web-messages">
Line 129... Line 137...
129
    </div>
137
    </div>
130
    <table class="tablesorter-blue">
138
    <table class="tablesorter-blue">
131
        <thead>
139
        <thead>
132
        <tr>
140
        <tr>
133
            <th>Identificador</th>
141
            <th>Identificador</th>
134
            <th>Ativo</th>
-
 
135
            <th>Código de SIGES</th>
-
 
136
            <th style="width: 30%">Nome</th>
142
            <th style="width: 30%">Nome</th>
137
            <th>Papeis Direcção</th>
143
            <th>Estado</th>
138
            <th>Papeis CTC</th>
144
            <th>Pasta VFS</th>
139
            <th>Papeis Pedagógico</th>
-
 
140
            <th>Papeis Escola</th>
145
            <th>Escolas</th>
141
            <th></th>
146
            <th></th>
142
            <th></th>
147
            <th></th>
143
        </tr>
148
        </tr>
144
        </thead>
149
        </thead>
145
        <tbody>
150
        <tbody>
146
        <tr ng-class="{dirty: d.dirty=='true'}" ng-repeat="d in schools | orderBy:institutionalCode:false">
151
        <tr ng-class="{dirty: d.dirty=='true'}" ng-repeat="d in seps | orderBy:id:false">
147
            <td>
152
            <td>
148
                <input class="form-control" type="hidden" ng-model="d.id">
153
                <input class="form-control" type="hidden" ng-model="d.id">
149
                <div class="row">
154
                <div class="row">
150
                    <div class="col-md-8">
155
                    <div class="col-md-8">
151
                        {{d.id}}
156
                        {{d.id}}
152
                    </div>
157
                    </div>
153
                    <div class="col-md-2">*</div>
158
                    <div class="col-md-2">*</div>
154
                </div>
159
                </div>
155
            </td>
160
            </td>
156
            <td>
161
            <td>
157
                <select class="chosenOff" ng-model="d.active" ng-change="setDirty(d)">
-
 
158
                    <option ng-value="true" ng-selected="d.active == true">Ativo</option>
-
 
159
                    <option ng-value="false" ng-selected="d.active == false">Inativo</option>
-
 
160
                </select>
-
 
161
            </td>
-
 
162
            <td>
-
 
163
                <input class="form-control" type="text" ng-model="d.institutionalCode">
-
 
164
            </td>
-
 
165
            <td>
-
 
166
                <input class="form-control" type="text" ng-model="d.name" ng-keyup="setDirty(d)">
162
                <input class="form-control" type="text" ng-model="d.name" ng-keyup="setDirty(d)">
167
                <div class="languageNames collapse">
163
                <div class="languageNames collapse">
168
                    EN:<input class="form-control" type="text" ng-model="d.nameEn" ng-keyup="setDirty(d)">
164
                    EN:<input class="form-control" type="text" ng-model="d.nameEn" ng-keyup="setDirty(d)">
169
                    ES:<input class="form-control" type="text" ng-model="d.nameEs" ng-keyup="setDirty(d)">
165
                    ES:<input class="form-control" type="text" ng-model="d.nameEs" ng-keyup="setDirty(d)">
170
                    FR:<input class="form-control" type="text" ng-model="d.nameFr" ng-keyup="setDirty(d)">
166
                    FR:<input class="form-control" type="text" ng-model="d.nameFr" ng-keyup="setDirty(d)">
171
                </div>
167
                </div>
172
            </td>
168
            </td>
173
 
-
 
174
            <td style="font-size: 0.7em !important">
-
 
175
 
-
 
176
                <div class="list-group">
-
 
177
                    <div class="list-group-item">
-
 
178
                        <select class="chosenOff" ng-model="d.schoolDirectorRole" ng-change="setDirty(d)">
-
 
179
                            <option value="">Escolha</option>
-
 
180
                            <logic:iterate id="role" name="userRoleSchoolPresidents">
-
 
181
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
182
                            </logic:iterate>
-
 
183
                        </select>
-
 
184
                    </div>
-
 
185
                    <div class="list-group-item">
-
 
186
                        <select class="chosenOff" ng-model="d.schoolBoardRole" ng-change="setDirty(d)">
-
 
187
                            <option value="">Escolha</option>
-
 
188
                            <logic:iterate id="role" name="userRoleSchoolBoards">
-
 
189
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
190
                            </logic:iterate>
-
 
191
                        </select>
-
 
192
                    </div>
-
 
193
                    <div class="list-group-item">
-
 
194
                        <select class="chosenOff" ng-model="d.schoolSecretariadoRole" ng-change="setDirty(d)">
-
 
195
                            <option value="">Escolha</option>
-
 
196
                            <logic:iterate id="role" name="userRoleSchoolSecretariados">
-
 
197
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
198
                            </logic:iterate>
-
 
199
                        </select>
-
 
200
                    </div>
-
 
201
                </div>
-
 
202
 
-
 
203
            </td>
169
            <td>
204
 
-
 
205
            <td style="font-size: 0.7em !important">
-
 
206
 
-
 
207
                <div class="list-group">
-
 
208
                    <div class="list-group-item">
-
 
209
                        <select class="chosenOff" ng-model="d.ctcPresidentRole" ng-change="setDirty(d)">
-
 
210
                            <option value="">Escolha</option>
-
 
211
                            <logic:iterate id="role" name="userRoleCTCPresidents">
-
 
212
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
213
                            </logic:iterate>
-
 
214
                        </select>
-
 
215
                    </div>
-
 
216
                    <div class="list-group-item">
-
 
217
                        <select class="chosenOff" ng-model="d.ctcMemberRole" ng-change="setDirty(d)">
170
                <select class="chosenOff" ng-model="d.active" ng-change="setDirty(d)">
218
                            <option value="">Escolha</option>
-
 
219
                            <logic:iterate id="role" name="userRoleCTCBoards">
-
 
220
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
171
                    <option ng-value="true" ng-selected="d.active == true">Ativo</option>
221
                            </logic:iterate>
-
 
222
                        </select>
-
 
223
                    </div>
-
 
224
                    <div class="list-group-item">
-
 
225
                        <select class="chosenOff" ng-model="d.ctcSecretariadoRole" ng-change="setDirty(d)">
-
 
226
                            <option value="">Escolha</option>
-
 
227
                            <logic:iterate id="role" name="userRoleCTCSecretariados">
-
 
228
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
172
                    <option ng-value="false" ng-selected="d.active == false">Inativo</option>
229
                            </logic:iterate>
-
 
230
                        </select>
-
 
231
                    </div>
-
 
232
                </div>
173
                </select>
233
 
-
 
234
            </td>
174
            </td>
235
 
-
 
236
            <td style="font-size: 0.7em !important">
175
            <td></td>
237
 
176
            <td>
238
                <div class="list-group">
177
                <div class="list-group">
239
                    <div class="list-group-item">
-
 
240
                        <select class="chosenOff" ng-model="d.pedagogicoPresidentRole" ng-change="setDirty(d)">
178
                    <div class="list-group-item" style="text-align: left" ng-repeat="school in schools" data-ng-element-ready="setCheck()">
241
                            <option value="">Escolha</option>
-
 
242
                            <logic:iterate id="role" name="userRolePedagogicoPresidents">
-
 
243
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
244
                            </logic:iterate>
-
 
245
                        </select>
-
 
246
                    </div>
-
 
247
                    <div class="list-group-item">
-
 
248
                        <select class="chosenOff" ng-model="d.pedagogicoMemberRole" ng-change="setDirty(d)">
-
 
249
                            <option value="">Escolha</option>
-
 
250
                            <logic:iterate id="role" name="userRolePedagogicoBoards">
-
 
251
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
252
                            </logic:iterate>
-
 
253
                        </select>
-
 
254
                    </div>
-
 
255
                    <div class="list-group-item">
-
 
256
                        <select class="chosenOff" ng-model="d.pedagogicoSecretariadoRole" ng-change="setDirty(d)">
179
                        <input style="zoom: 1.5;" class="schoolCheck" type="checkbox" checklist-model="d.schoolsIds" checklist-value="school.id"> - {{school.name}}
257
                            <option value="">Escolha</option>
-
 
258
                            <logic:iterate id="role" name="userRolePedagogicoSecretariados">
-
 
259
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
260
                            </logic:iterate>
-
 
261
                        </select>
-
 
262
                    </div>
180
                    </div>
263
                </div>
181
                </div>
264
            </td>
182
            </td>
265
 
183
 
266
 
184
 
267
 
185
 
268
            <td style="font-size: 0.7em !important">
-
 
269
 
-
 
270
                <div class="list-group">
-
 
271
                    <div class="list-group-item">
-
 
272
                        <select class="chosenOff" ng-model="d.funcionarioRole" ng-change="setDirty(d)">
-
 
273
                            <option value="">Escolha</option>
-
 
274
                            <logic:iterate id="role" name="userRoleFuncionarios">
-
 
275
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
276
                            </logic:iterate>
-
 
277
                        </select>
-
 
278
                    </div>
-
 
279
                    <div class="list-group-item">
-
 
280
                        <select class="chosenOff" ng-model="d.studentRole" ng-change="setDirty(d)">
-
 
281
                            <option value="">Escolha</option>
-
 
282
                            <logic:iterate id="role" name="userRoleEstudantes">
-
 
283
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
284
                            </logic:iterate>
-
 
285
                        </select>
-
 
286
                    </div>
-
 
287
                    <div class="list-group-item">
-
 
288
                        <select class="chosenOff" ng-model="d.teacherRole" ng-change="setDirty(d)">
-
 
289
                            <option value="">Escolha</option>
-
 
290
                            <logic:iterate id="role" name="userRoleDocentes">
-
 
291
                                <option value="${role}"><bean:message key="user.role.${role}"/></option>
-
 
292
                            </logic:iterate>
-
 
293
                        </select>
-
 
294
                    </div>
-
 
295
                </div>
-
 
296
            </td>
-
 
297
 
-
 
298
            <td>
186
            <td>
299
                <button type="button" class="btn btn-success btn-xs" ng-click="save(d)">
187
                <button type="button" class="btn btn-success btn-xs" ng-click="save(d)">
300
                    <span class="glyphicon glyphicon-ok"/>
188
                    <span class="glyphicon glyphicon-ok"/>
301
                </button>
189
                </button>
302
            </td>
190
            </td>
303
            <td>
191
            <td>
304
                <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"/>
192
                <bacoTags:confirm  msg="Tem a certeza que deseja remover o separador {{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"/>
305
            </td>
193
            </td>
306
 
194
 
307
 
195
 
308
 
196
 
309
        </tr>
197
        </tr>
Line 318... Line 206...
318
        <model:field name="school" property="nameFr"/>
206
        <model:field name="school" property="nameFr"/>
319
        <model:remove name="school"/>
207
        <model:remove name="school"/>
320
--%>
208
--%>
321
</div>
209
</div>
322
 
210
 
-
 
211
    <pre>{{seps | json}}</pre>
-
 
212
 
323
 
213
 
324
</div>
214
</div>
325
</div>
215
</div>
326
<%
216
<%
327
    AbstractDao.getCurrentSession().getTransaction().commit();
217
    AbstractDao.getCurrentSession().getTransaction().commit();