Subversion Repositories bacoAlunos

Rev

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