private void load(final DegreeModule degreeModule) { degreeModule.getName(); if (degreeModule.isCourseGroup()) { final CourseGroup courseGroup = (CourseGroup) degreeModule; for (final org.fenixedu.academic.domain.degreeStructure.Context context : courseGroup.getChildContextsSet()) { final DegreeModule child = context.getChildDegreeModule(); load(child); } } else { final CurricularCourse curricularCourse = (CurricularCourse) degreeModule; final CompetenceCourse competenceCourse = curricularCourse.getCompetenceCourse(); if (competenceCourse != null) { competenceCourse.getName(); } } }
@Override public boolean evaluate(Context context) { User user = Authenticate.getUser(); if (RoleType.SCIENTIFIC_COUNCIL.isMember(user)) { return true; } final DegreeCurricularPlan parentDegreeCurricularPlan = context.getParentCourseGroup().getParentDegreeCurricularPlan(); if (!parentDegreeCurricularPlan.isBolonhaDegree()) { return true; } if (AcademicAuthorizationGroup.get(AcademicOperationType.MANAGE_DEGREE_CURRICULAR_PLANS) .isMember(user) || RoleType.MANAGER.isMember(user) || RoleType.OPERATOR.isMember(user)) { return true; } return parentDegreeCurricularPlan.getCurricularPlanMembersGroup().isMember(user); }