Subversion Repositories bacoAlunos

Rev

Rev 1670 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1283 jmachado 1
package pt.estgp.estgweb.services.users;
2
 
3
import org.apache.log4j.Logger;
1699 jmachado 4
import pt.estgp.estgweb.domain.*;
1283 jmachado 5
import pt.estgp.estgweb.domain.dao.DaoFactory;
1699 jmachado 6
import pt.estgp.estgweb.filters.exceptions.AccessDeniedException;
1283 jmachado 7
import pt.utl.ist.berserk.logic.serviceManager.IService;
8
 
9
import java.io.BufferedReader;
10
import java.io.IOException;
11
import java.io.StringReader;
12
import java.util.ArrayList;
13
import java.util.List;
14
 
15
/**
16
 * Created by jorgemachado on 29/01/16.
17
 */
18
public class UserRoleConfigService implements IService
19
{
20
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(UserRoleConfigService.class);
21
 
22
    private List<UserRoleConfig> loadRolesTranslations(UserSession sess)
23
    {
24
        List<UserRoleConfig> roles = DaoFactory.getUserRoleConfigDaoImpl().findAll();
25
        if(roles == null || roles.size() == 0)
26
        {
27
            roles = initRoles();
28
        }
29
        return roles;
30
    }
31
 
32
 
33
 
34
 
35
    private static long lastUpdate = 0;
36
 
37
    public List<UserRoleConfig> loadRolesIfDirty(UserSession sess)
38
    {
39
        if(lastUpdate == 0)
40
        {
41
            return loadRolesTranslations(sess);
42
        }
43
        UserRoleConfig lastChangeRole = DaoFactory.getUserRoleConfigDaoImpl().getLast("updateDate");
44
        if(lastChangeRole.getUpdateDate().getTime() >= lastUpdate)
45
        {
46
            List<UserRoleConfig> roles = loadRolesTranslations(sess);
47
            lastUpdate = 1.5.0/docs/api/java/lang/System.html">System.currentTimeMillis();
48
            return roles;
49
        }
50
 
51
        return null;
52
    }
53
 
1699 jmachado 54
 
55
    public ReplaceRoleResult updateOldRoleWithView(1.5.0/docs/api/java/lang/String.html">String oldRole,UserRoleConfigImpl newViewRoleConfig, UserSession sess)
56
            throws AccessDeniedException
1283 jmachado 57
    {
1699 jmachado 58
        UserRoleConfig oldUserRoleConfig = DaoFactory.getUserRoleConfigDaoImpl().findByRole(oldRole);
59
        newViewRoleConfig.setId(oldUserRoleConfig.getId());
60
        return addUpdateRole(newViewRoleConfig,sess);
61
    }
62
 
63
    public ReplaceRoleResult addUpdateRole(UserRoleConfigImpl viewRoleConfig, UserSession sess)
64
            throws AccessDeniedException
65
    {
66
 
67
        ReplaceRoleResult replaceRoleResult;
68
        //boolean isNew = userRoleConfig.getId() <= 0;
69
        UserRoleConfig persistent;
70
        1.5.0/docs/api/java/lang/String.html">String newRoleStr = viewRoleConfig.getRole().trim();
71
        if(viewRoleConfig.getId() <= 0)
1283 jmachado 72
        {
1699 jmachado 73
            replaceRoleResult = replaceOrCreateRoleKey(null, newRoleStr, sess);
74
            if(replaceRoleResult.roleKeyAlreadyExist)
75
                return replaceRoleResult;
76
            persistent = replaceRoleResult.updatedUserRoleConfig;
77
        }
78
        else
79
        {
80
            persistent = DaoFactory.getUserRoleConfigDaoImpl().get(viewRoleConfig.getId());
81
 
82
            boolean chaveMudou = !newRoleStr.equals(persistent.getRole());
83
            if(chaveMudou)
1283 jmachado 84
            {
1699 jmachado 85
                if(sess.getUser().isSuperuserOrAdmin())
86
                {
87
                    replaceRoleResult = replaceOrCreateRoleKey(persistent.getRole(), newRoleStr, sess);
88
 
89
                    if(replaceRoleResult.roleKeyAlreadyExist)
90
                        return replaceRoleResult;
91
                    persistent = replaceRoleResult.updatedUserRoleConfig;
92
                }
93
                else
94
                {
95
                    throw new AccessDeniedException("Nao pode alterar o código do papel porque não é administrador");
96
                }
1283 jmachado 97
            }
1699 jmachado 98
            else
99
                replaceRoleResult = new ReplaceRoleResult();
100
 
101
        }
102
 
103
 
104
        persistent.setValue(viewRoleConfig.getValue());
105
        persistent.setValid(viewRoleConfig.isValid());
106
        persistent.setValueEn(viewRoleConfig.getValueEn());
107
        persistent.setValueEs(viewRoleConfig.getValueEs());
108
        persistent.setValueFr(viewRoleConfig.getValueFr());
109
        persistent.setValuePt(viewRoleConfig.getValuePt());
110
        persistent.setObs(viewRoleConfig.getObs());
111
 
112
        return replaceRoleResult;
113
    }
114
 
115
 
116
 
117
 
118
    public static class ReplaceRoleResult
119
    {
120
        public int afetectedUsers = 0;
121
 
122
        public int afetectedCoursesValidatePrograms = 0;
123
        public int afetectedDepartmentsDirectors = 0;
124
        public int afetectedDepartmentsBoards = 0;
125
 
126
        public int afetectedSchoolsDirectors = 0;
127
        public int afetectedSchoolsBoard = 0;
128
        public int afetectedSchoolsSecretario = 0;
129
 
130
        public int afetectedSchoolsPresidentPedagogico = 0;
131
        public int afetectedSchoolsMemberPedagogico = 0;
132
        public int afetectedSchoolsSecretarioPedagogico = 0;
133
 
134
        public int afetectedSchoolsPresidentCtc = 0;
135
        public int afetectedSchoolsMemberCtc = 0;
136
        public int afetectedSchoolsSecretarioCtc = 0;
137
 
138
        public int afectedEventClassManagers = 0;
139
 
140
        public int afectedActorPoolRoles = 0;
141
        public int afectedActorPoolRolesInstances = 0;
142
 
143
        public boolean roleKeyAlreadyExist = false;
144
        public UserRoleConfig updatedUserRoleConfig = null;
145
    }
146
 
147
    /**
148
     * Serviço de nível SUPORTE
149
     * Usado pelo update de Roles e Pela normalização de Roles de Comissões de Curso
150
     * Substitui a presença de um ROLE por um NOVO
151
     *
152
     *
153
     * @param oldRole if null does not find old users for replace
154
     * @param newRole need to be filled
155
     * @param sess
156
     * @return ReplaceRoleResult if roleKeyAlreadyExist = true - nothing was done need to be a none existing new role key
157
     * ReplaceRoleResult.updatedUserRoleConfig tem o role antigo atualizado ou o novo criado com o newRole
158
     */
159
    public ReplaceRoleResult replaceOrCreateRoleKey(1.5.0/docs/api/java/lang/String.html">String oldRole, 1.5.0/docs/api/java/lang/String.html">String newRole, UserSession sess)
160
    {
161
        ReplaceRoleResult result = new ReplaceRoleResult();
162
 
163
 
164
        UserRoleConfig roleConfig = DaoFactory.getUserRoleConfigDaoImpl().findByRole(newRole);
165
        if(roleConfig != null)
166
        {
167
            result.roleKeyAlreadyExist = true;
168
            return result;
169
        }
170
        else if(oldRole == null)
171
        {
172
            roleConfig = DomainObjectFactory.createUserRoleConfigImpl();
173
            roleConfig.setRole(newRole);
174
            DaoFactory.getUserRoleConfigDaoImpl().save(roleConfig);
175
            result.updatedUserRoleConfig = roleConfig;
176
        }
177
        else
178
        {
179
            roleConfig = DaoFactory.getUserRoleConfigDaoImpl().findByRole(oldRole);
180
            roleConfig.setRole(newRole);
181
            result.updatedUserRoleConfig = roleConfig;
182
 
183
            replaceUserRoles(oldRole, newRole, result);
184
 
185
            replaceCourseRoles(oldRole, newRole, result);
186
 
187
            replaceSchoolAndDepartmentRoles(oldRole, newRole, result);
188
 
189
            replaceEventClasseManagerRoles(oldRole, newRole, result);
190
 
191
            replaceBpmnActorPoolInstancesRoles(oldRole, newRole, result);
192
 
193
            replaceBpmnActorPoolRoles(oldRole, newRole, result);
194
 
195
 
196
        }
197
        return result;
198
    }
199
 
200
    private void replaceBpmnActorPoolInstancesRoles(1.5.0/docs/api/java/lang/String.html">String oldRole, 1.5.0/docs/api/java/lang/String.html">String newRole, ReplaceRoleResult result) {
201
        List<BpmnActorPoolInstanceImpl> actorPoolInstances = DaoFactory.getBpmnActorPoolInstanceDaoImpl().findByRole(oldRole);
202
        result.afectedActorPoolRolesInstances = actorPoolInstances.size();
203
        for(BpmnActorPoolInstanceImpl actorPoolInstance: actorPoolInstances)
204
        {
205
            actorPoolInstance.replaceRole(oldRole,newRole);
206
        }
207
    }
208
 
209
    private void replaceBpmnActorPoolRoles(1.5.0/docs/api/java/lang/String.html">String oldRole, 1.5.0/docs/api/java/lang/String.html">String newRole, ReplaceRoleResult result) {
210
        List<BpmnActorPoolImpl> actorPools = DaoFactory.getBpmnActorPoolDaoImpl().findByRole(oldRole);
211
        result.afectedActorPoolRoles = actorPools.size();
212
        for(BpmnActorPoolImpl actorPool: actorPools)
213
        {
214
            actorPool.replaceRole(oldRole,newRole);
215
        }
216
    }
217
 
218
    private void replaceEventClasseManagerRoles(1.5.0/docs/api/java/lang/String.html">String oldRole, 1.5.0/docs/api/java/lang/String.html">String newRole, ReplaceRoleResult result) {
219
        List<EventClass> eventClasses = DaoFactory.getEventClassDaoImpl().findByManagerRole(oldRole);
220
        result.afectedEventClassManagers = eventClasses.size();
221
        for(EventClass eventClass: eventClasses)
222
        {
223
            eventClass.setManagersRole(newRole);
224
        }
225
    }
226
 
227
    private void replaceUserRoles(1.5.0/docs/api/java/lang/String.html">String oldRole, 1.5.0/docs/api/java/lang/String.html">String newRole, ReplaceRoleResult result) {
228
        List<User> users = DaoFactory.getUserDaoImpl().loadRoleUsers(oldRole);
229
        result.afetectedUsers = users.size();
230
        for(User u : users)
231
        {
232
            if(u.hasRole(oldRole))
1283 jmachado 233
            {
1699 jmachado 234
                u.removeRole(oldRole);
1283 jmachado 235
            }
1699 jmachado 236
            u.addRole(newRole);
237
        }
238
    }
1283 jmachado 239
 
1699 jmachado 240
    private void replaceCourseRoles(1.5.0/docs/api/java/lang/String.html">String oldRole, 1.5.0/docs/api/java/lang/String.html">String newRole, ReplaceRoleResult result) {
241
        List<Course> courses = DaoFactory.getCourseDaoImpl().findValidateRole(oldRole);
242
        result.afetectedCoursesValidatePrograms = courses.size();
243
        for(Course c :courses)
1283 jmachado 244
        {
1699 jmachado 245
           c.setValidationRole(newRole);
1283 jmachado 246
        }
247
    }
248
 
1699 jmachado 249
    private void replaceSchoolAndDepartmentRoles(1.5.0/docs/api/java/lang/String.html">String oldRole, 1.5.0/docs/api/java/lang/String.html">String newRole, ReplaceRoleResult result) {
250
        List<CourseDepartment> departments = DaoFactory.getCourseDepartmentDaoImpl().findByDirectorRole(oldRole);
251
        result.afetectedDepartmentsDirectors = departments.size();
252
        for(CourseDepartment department: departments)
1283 jmachado 253
        {
1699 jmachado 254
            department.setDirectorRole(newRole);
1283 jmachado 255
        }
1699 jmachado 256
 
257
        departments = DaoFactory.getCourseDepartmentDaoImpl().findByBoardRole(oldRole);
258
        result.afetectedDepartmentsBoards = departments.size();
259
        for(CourseDepartment department: departments)
260
        {
261
            department.setBoardRole(newRole);
262
        }
263
 
264
        List<CourseSchool> schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolDirector(oldRole);
265
        result.afetectedSchoolsDirectors = schools.size();
266
        for(CourseSchool school: schools)
267
        {
268
            school.setSchoolDirectorRole(newRole);
269
        }
270
 
271
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolBoard(oldRole);
272
        result.afetectedSchoolsBoard = schools.size();
273
        for(CourseSchool school: schools)
274
        {
275
            school.setSchoolBoardRole(newRole);
276
        }
277
 
278
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolSecretariado(oldRole);
279
        result.afetectedSchoolsSecretario = schools.size();
280
        for(CourseSchool school: schools)
281
        {
282
            school.setSchoolSecretariadoRole(newRole);
283
        }
284
 
285
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolPresidentCtc(oldRole);
286
        result.afetectedSchoolsPresidentCtc = schools.size();
287
        for(CourseSchool school: schools)
288
        {
289
            school.setCtcPresidentRole(newRole);
290
        }
291
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolMemberCtc(oldRole);
292
        result.afetectedSchoolsMemberCtc = schools.size();
293
        for(CourseSchool school: schools)
294
        {
295
            school.setCtcMemberRole(newRole);
296
        }
297
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolSecretariadoCtc(oldRole);
298
        result.afetectedSchoolsSecretarioCtc = schools.size();
299
        for(CourseSchool school: schools)
300
        {
301
            school.setCtcSecretariadoRole(newRole);
302
        }
303
 
304
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolPresidentPedagogico(oldRole);
305
        result.afetectedSchoolsPresidentPedagogico = schools.size();
306
        for(CourseSchool school: schools)
307
        {
308
            school.setPedagogicoPresidentRole(newRole);
309
        }
310
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolMemberPedagogico(oldRole);
311
        result.afetectedSchoolsMemberPedagogico = schools.size();
312
        for(CourseSchool school: schools)
313
        {
314
            school.setPedagogicoMemberRole(newRole);
315
        }
316
        schools = DaoFactory.getCourseSchoolDaoImpl().findBySchoolSecretariadoPedagogico(oldRole);
317
        result.afetectedSchoolsSecretarioPedagogico = schools.size();
318
        for(CourseSchool school: schools)
319
        {
320
            school.setPedagogicoSecretariadoRole(newRole);
321
        }
1283 jmachado 322
    }
323
 
324
 
325
    private List<UserRoleConfig> initRoles()
326
    {
327
        List<UserRoleConfig> roles = new ArrayList<UserRoleConfig>();
328
        1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader reader = new 1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader(new 1.5.0/docs/api/java/io/StringReader.html">StringReader(INIT_ROLES));
329
        1.5.0/docs/api/java/lang/String.html">String roleSpec = null;
330
        try {
331
            while((roleSpec = reader.readLine()) != null)
332
            {
333
                1.5.0/docs/api/java/lang/String.html">String[] fields = roleSpec.split("=");
334
                1.5.0/docs/api/java/lang/String.html">String role = fields[0].substring("user.role.".length());
335
                1.5.0/docs/api/java/lang/String.html">String desc = fields[1];
336
                UserRoleConfigImpl userRoleConfig = DomainObjectFactory.createUserRoleConfigImpl();
337
                userRoleConfig.setRole(role.trim());
338
                userRoleConfig.setValue(desc);
339
                userRoleConfig.setValid(true);
340
                roles.add(userRoleConfig);
341
                DaoFactory.getUserRoleConfigDaoImpl().save(userRoleConfig);
342
            }
343
        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
344
            logger.error(e,e);
345
        }
346
        return roles;
347
    }
348
 
1346 jmachado 349
    public 1.5.0/docs/api/java/lang/Integer.html">Integer checkIfAreNewStandardRoles(UserSession userSession)
350
    {
351
        int totalNew = 0;
352
        1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader reader = new 1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader(new 1.5.0/docs/api/java/io/StringReader.html">StringReader(INIT_ROLES));
353
        1.5.0/docs/api/java/lang/String.html">String roleSpec = null;
354
        try {
355
            while((roleSpec = reader.readLine()) != null)
356
            {
357
 
358
                1.5.0/docs/api/java/lang/String.html">String[] fields = roleSpec.split("=");
359
                1.5.0/docs/api/java/lang/String.html">String role = fields[0].substring("user.role.".length());
360
                1.5.0/docs/api/java/lang/String.html">String desc = fields[1];
361
 
362
                UserRoleConfigImpl userRoleConfig = DaoFactory.getUserRoleConfigDaoImpl().findByRole(role);
363
                if(userRoleConfig == null)
364
                {
365
                    totalNew++;
366
                    userRoleConfig = DomainObjectFactory.createUserRoleConfigImpl();
367
                    userRoleConfig.setRole(role.trim());
368
                    userRoleConfig.setValue(desc);
369
                    userRoleConfig.setValid(true);
370
                    DaoFactory.getUserRoleConfigDaoImpl().save(userRoleConfig);
371
                }
372
            }
373
        } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
374
            logger.error(e,e);
375
        }
376
        return totalNew;
377
    }
378
 
1283 jmachado 379
    private static final 1.5.0/docs/api/java/lang/String.html">String INIT_ROLES = "user.role.all=Todos\n" +
380
                            "user.role.admin=Administrador\n" +
381
                            "user.role.student=Estudante\n" +
1371 jmachado 382
                            "user.role.comissao.avaliacao.desempenho.docente=Comissão de Avaliação de Desempenho Docente\n" +
1283 jmachado 383
                            "user.role.erasmusStudent=Estudante de Erasmus\n" +
384
                            "user.role.teacher=Professor\n" +
385
                            "user.role.teacher.eg=Professor da Área de Engenharia\n" +
386
                            "user.role.teacher.dg=Professor da Área de Design\n" +
387
                            "user.role.teacher.ce=Professor da Área de Ciencias Empresariais\n" +
388
                            "user.role.teacher.ch=Professor da Área de Ciencias Humanas\n" +
389
                            "user.role.teacher.td=Professor do DTD\n" +
390
                            "user.role.teacher.cesh=Professor do DCESH\n" +
391
                            "user.role.student.eg=Aluno da Área de Engenharia\n" +
392
                            "user.role.student.dg=Aluno da Área de Design\n" +
393
                            "user.role.student.ce=Aluno da Área de Ciencias Empresariais\n" +
394
                            "user.role.student.ch=Aluno da Área de Ciencias Humanas\n" +
395
                            "user.role.student.td=Aluno do DTD\n" +
396
                            "user.role.student.cesh=Aluno do DCESH\n" +
397
                            "user.role.ci=Centro Informático\n" +
398
                            "user.role.worker=Funcionário\n" +
399
                            "user.role.invited=Convidado\n" +
400
                            "user.role.services=Serviços\n" +
1379 jmachado 401
                            "user.role.questionarios.tipologias.admin=Questionarios - Verificação de Tipologias\n" +
402
                            "user.role.questionarios.atribuicoes.admin=Questionarios - Atribuições de Cursos\n" +
403
                            "user.role.questionarios.atribuicoes.check_teachers=Questionarios - Verificação de Professores\n" +
404
                            "user.role.questionarios.admin=Questionários - Super Administrador\n" +
405
                            "user.role.questionarios.gerais=Questionários - Permissões Básicas (necessário)\n" +
1283 jmachado 406
                            "user.role.servicesPrograms=Gestão de Programas Curriculares\n" +
1507 jmachado 407
                            "user.role.servicesStudiesPlans=Gestão de Planos de Estudos\n" +
408
                            "user.role.servicesCoursesManagement=Gestão de Cursos\n" +
1618 jmachado 409
                            "user.role.servicesRolesManagement=Gestão de Papeis Institucionais\n" +
1524 jmachado 410
                            "user.role.event_class_manager=Gestão de Classes de Eventos\n" +
411
                            "user.role.event_manager_nfc=Gestão de Eventos do Nucleo de Formacao Continua\n" +
1283 jmachado 412
                            "user.role.administrativeCouncil=Membro da Direcção\n" +
413
                            "user.role.administrativeCouncil.director=Director\n" +
414
                            "user.role.administrativeCouncil.vice=Vice Director\n" +
415
                            "user.role.schoolSecretary=Secretário da Escola\n" +
416
                            "user.role.administrativeCouncilSecretariat=Secretaria da Direcção\n" +
417
                            "user.role.teachersSecretariat=Secretaria de Pessoal Docente\n" +
418
                            "user.role.dtd.president=Presidente do DTD\n" +
419
                            "user.role.cesh.president=Presidente do DCESH\n" +
420
                            "user.role.dtd.presidency=Membro da Presidencia do DTD\n" +
421
                            "user.role.cesh.presidency=Membro da Presidencia do DCESH\n" +
1618 jmachado 422
                            "user.role.scientificCouncil.president=CTC Presidente (Não utilizado)\n" +
423
 
424
 
425
 
1283 jmachado 426
                            "user.role.representativeCouncil.president=Presidente do Conselho de Representantes\n" +
427
                            "user.role.pedagogicCouncil.president=Presidente do Conselho Pedagógico\n" +
428
                            "user.role.representativeCouncil=Conselho de Representantes\n" +
1618 jmachado 429
                            "user.role.scientificCouncil=CTC Membro (Não utilizado)\n" +
1283 jmachado 430
                            "user.role.erasmusCouncil=Conselho Erasmus\n" +
431
                            "user.role.pedagogicCouncil=Conselho Pedagógico\n" +
432
                            "user.role.courseCoordinator=Coordenadores\n" +
433
                            "user.role.futureStudent=Futuros Alunos\n" +
434
                            "user.role.oldStudent=Antigos Alunos\n" +
435
                            "user.role.studentAssociation=Associação de Estudantes\n" +
436
                            "user.role.computerCenter=Centro Informático\n" +
437
                            "user.role.courseDirector=Presidente de Departamento\n" +
438
                            "user.role.identifiersManager=Utilizador de Gestão de Identificadores\n" +
439
                            "user.role.identifiersCollectionCreator=Administrador de Colecções de Identificadores\n" +
440
                            "user.role.studentsID=Alunos de Informação e Documentação\n" +
441
                            "user.role.studentsFSIR=Alunos de Fontes de Informação e Serviço de Referência\n" +
442
                            "user.role.sendMailMessages=Enviar Mensagens de Correio Electronico\n" +
443
                            "user.role.pedagogicCouncilSecretariat=Secretariado do Conselho Pedagógico\n" +
444
                            "user.role.directionSecretariat=Secretariado da Direcção\n" +
445
                            "user.role.studentsSecretariat=Secretaria de Alunos\n" +
446
                            "user.role.assessementsTester=Testador de Provas de Avaliação\n" +
447
                            "user.role.processes.admin=Inspector de Processos" +
448
                            "user.role.validate.ei=Comissão de Curso de Engenharia Informática\n" +
449
                            "user.role.courseValidateProgramGPME=Comissão de Curso de Gestão de PME\n" +
450
                            "user.role.courseValidateProgramCET_TD=Comissão de Curso de CETS de TD\n" +
451
                            "user.role.courseValidateProgramEI=Comissão de Curso de EI\n" +
452
                            "user.role.courseValidateProgramEC=Comissão de Curso de EC\n" +
453
                            "user.role.courseValidateProgramBioEng=Comissão de Curso de BioEng\n" +
454
                            "user.role.courseValidateProgramEGI=Comissão de Curso de EGI\n" +
455
                            "user.role.courseValidateProgramEERA=Comissão de Curso de EERA\n" +
456
                            "user.role.courseValidateProgramDC=Comissão de Curso de DC\n" +
457
                            "user.role.courseValidateProgramDA=Comissão de Curso de DA\n" +
458
                            "user.role.courseValidateProgramTVAPE=Comissão de Curso de TVAPE\n" +
459
                            "user.role.courseValidateProgramMI=Comissão de Curso de MI\n" +
460
                            "user.role.courseValidateProgramEGPMEestranho=Comissão de Curso de EPGME\n" +
461
                            "user.role.courseValidatePrograms=Validação de Programas\n" +
462
                            "user.role.courseValidateProgramCET_CESH=Comissão de Curso de CETS de CESH\n" +
463
                            "user.role.courseValidateProgramAPM=Comissão de Curso de APM\n" +
464
                            "user.role.courseValidateProgramAA=Comissão de Curso de AA\n" +
465
                            "user.role.courseValidateProgramG=Comissão de Curso de G\n" +
466
                            "user.role.courseValidateProgramID=Comissão de Curso de ID\n" +
467
                            "user.role.courseValidateProgramRPS=Comissão de Curso de RPS\n" +
468
                            "user.role.courseValidateProgramTGI=Comissão de Curso de TGI\n" +
469
                            "user.role.courseValidateProgramRU=Comissão de Curso de RU\n" +
470
                            "user.role.courseValidateProgramCF=Comissão de Curso de Contabilidade e Finanças\n" +
1617 jmachado 471
                            "user.role.courseValidateProgramNONE=Nenhuma\n" +
1585 jmachado 472
                            "user.role.courseValidateProgramTPB=Comissão de Curso de Tecnologias de Produção de Biocombustíveis\n"+
473
                            "user.role.board.institution=Board de Direcção do Instituto Politecnico\n"+
1670 jmachado 474
                            "user.role.repositoryDocs=Administração do Repositório Digital\n"+
475
 
476
 
477
 
478
                            //ESCOLAS
479
 
480
 
481
 
482
                            //ESTG
483
                            "user.role.school.president.estg=Escola Director da ESTG\n"+
484
                            "user.role.school.board.estg=Escola Board de Direcção da ESTG\n"+
485
                            "user.role.school.secretariado.estg=Escola Secretariado da ESTG\n"+
486
                                //CTC
487
                            "user.role.scientificCouncil.president.estg=CTC ESTG Presidente\n" +
488
                            "user.role.scientificCouncil.board.estg=CTC ESTG Membro\n" +
489
                            "user.role.scientificCouncil.secretariado.estg=CTC ESTG Secretariado\n" +
490
                                //Pedagogico
491
                            "user.role.pedagogicCouncil.president.estg=Pedagógico ESTG Presidente\n" +
492
                            "user.role.pedagogicCouncil.board.estg=Pedagógico ESTG Membro\n" +
493
                            "user.role.pedagogicCouncil.secretariado.estg=Pedagógico ESTG Secretariado\n" +
494
 
495
 
496
 
497
                            //ESAE
498
                            "user.role.school.president.asae=Escola Director da ESAE\n"+
499
                            "user.role.school.board.esae=Escola Board de Direcção da ESAE\n"+
500
                            "user.role.school.secretariado.esae=Escola Secretariado da ESAE\n"+
501
                                //CTC
502
                            "user.role.scientificCouncil.president.esae=CTC ESAE Presidente\n" +
503
                            "user.role.scientificCouncil.board.esae=CTC ESAE Membro\n" +
504
                            "user.role.scientificCouncil.secretariado.esae=CTC ESAE Secretariado\n" +
505
                                //Pedagogico
506
                            "user.role.pedagogicCouncil.president.esae=Pedagógico ESAE Presidente\n" +
507
                            "user.role.pedagogicCouncil.board.esae=Pedagógico ESAE Membro\n" +
508
                            "user.role.pedagogicCouncil.secretariado.esae=Pedagógico ESAE Secretariado\n" +
509
 
510
 
511
 
512
                            //ESECS
513
                            "user.role.school.president.esecs=Escola Director da ESECS\n"+
514
                            "user.role.school.board.esecs=Escola Board de Direcção da ESECS\n"+
515
                            "user.role.school.secretariado.esecs=Escola Secretariado da ESECS\n"+
516
                                //CTC
517
                            "user.role.scientificCouncil.president.esecs=CTC ESECS Presidente\n" +
518
                            "user.role.scientificCouncil.board.esecs=CTC ESECS Membro\n" +
519
                            "user.role.scientificCouncil.secretariado.esecs=CTC ESECS Secretariado\n" +
520
                                //Pedagogico
521
                            "user.role.pedagogicCouncil.president.esecs=Pedagógico ESECS Presidente\n" +
522
                            "user.role.pedagogicCouncil.board.esecs=Pedagógico ESECS Membro\n" +
523
                            "user.role.pedagogicCouncil.secretariado.esecs=Pedagógico ESECS Secretariado\n" +
524
 
525
 
526
 
527
                            //ESS
528
                            "user.role.school.president.ess=Escola Director da ESS\n"+
529
                            "user.role.school.board.ess=Escola Board de Direcção da ESS\n"+
530
                            "user.role.school.secretariado.ess=Escola Secretariado da ESS\n"+
531
                                //CTC
532
                            "user.role.scientificCouncil.president.ess=CTC ESS Presidente\n" +
533
                            "user.role.scientificCouncil.board.ess=CTC ESS Membro\n" +
534
                            "user.role.scientificCouncil.secretariado.ess=CTC ESS Secretariado\n" +
535
                                //Pedagogico
536
                            "user.role.pedagogicCouncil.president.ess=Pedagógico ESS Presidente\n" +
537
                            "user.role.pedagogicCouncil.board.ess=Pedagógico ESS Membro\n" +
538
                            "user.role.pedagogicCouncil.secretariado.ess=Pedagógico ESS Secretariado\n" +
539
 
540
 
541
 
542
 
543
 
544
                            //ESCOLAS ANTIGOS NAO USAR
1585 jmachado 545
                            "user.role.board.school.estg=Board de Direcção da ESTG\n"+
546
                            "user.role.board.school.esae=Board de Direcção da ESAE\n"+
547
                            "user.role.board.school.esecs=Board de Direcção da ESECS\n"+
1626 jmachado 548
                            "user.role.board.school.ess=Board de Direcção da ESS\n"+
1670 jmachado 549
 
550
 
1626 jmachado 551
                            //ESAE
552
                            "user.role.department.board.agric.recurs.nat=Departamento Direção - Agricultura e Recursos Naturais\n" +
553
                            "user.role.department.board.cienc.tecnol.ani=Departamento Direção - Ciência e Tecnologia Animal\n" +
554
                            "user.role.department.diretor.agric.recurs.nat=Departamento Diretor - Agricultura e Recursos Naturais\n" +
555
                            "user.role.department.diretor.cienc.tecnol.ani=Departamento Diretor - Ciência e Tecnologia Animal\n" +
556
                            //ESECS
557
                            "user.role.department.board.comun.artes.tecn=Departamento Direção - Comunicação, Artes e Tecnologias\n" +
558
                            "user.role.department.board.educac.formac=Departamento Direção - Educação e Formação\n" +
559
                            "user.role.department.board.inter.des.soc=Departamento Direção - Intervenção e Desenvolvimento Social\n" +
560
                            "user.role.department.diretor.comun.artes.tecn=Departamento Diretor - Comunicação, Artes e Tecnologias\n" +
561
                            "user.role.department.diretor.educac.formac=Departamento Diretor - Educação e Formação\n" +
562
                            "user.role.department.diretor.inter.des.soc=Departamento Diretor - Intervenção e Desenvolvimento Social\n" +
563
                            //ESS
564
                            "user.role.department.board.cienc.tec.saude=Departamento Direção - Ciências e Tecnologias da Saúde\n" +
565
                            "user.role.department.diretor.cienc.tec.saude=Departamento Diretor - Ciências e Tecnologias da Saúde\n" +
566
                            //ESTG
567
                            "user.role.department.board.cienc.empre.sh=Departamento Direção - Ciências Empresariais, Sociais e Humanas\n" +
568
                            "user.role.department.board.tecnolo.design=Departamento Direção - Tecnologias e Design\n" +
569
                            "user.role.department.diretor.cienc.empre.sh=Departamento Diretor - Ciências Empresariais, Sociais e Humanas\n" +
570
                            "user.role.department.diretor.tecnolo.design=Departamento Diretor - Tecnologias e Design\n"
1585 jmachado 571
            ;
1283 jmachado 572
 
1626 jmachado 573
 
574
 
575
 
1283 jmachado 576
}