@Override public boolean check(UserContext user, Department source) { return permissionDepartment.check( user, source, DepartmentStatusType.Status.OwnerView, DepartmentStatusType.Status.ManagerView); }
@Override public boolean check(UserContext user, Class_ source) { return permissionDepartment.check( user, source.getControllingDept(), DepartmentStatusType.Status.OwnerLimitedEdit, source.getManagingDept(), DepartmentStatusType.Status.ManagerLimitedEdit); }
@Override public boolean check(UserContext user, InstrOfferingConfig source) { if (permissionDepartment.check( user, source.getDepartment(), DepartmentStatusType.Status.OwnerLimitedEdit)) return true; // Manager can edit external department Set<Department> externals = new HashSet<Department>(); for (SchedulingSubpart subpart : source.getSchedulingSubparts()) { for (Class_ clazz : subpart.getClasses()) { if (clazz.getManagingDept() != null && clazz.getManagingDept().isExternalManager()) { if (externals.add(clazz.getManagingDept()) && permissionDepartment.check( user, clazz.getManagingDept(), DepartmentStatusType.Status.ManagerLimitedEdit)) return true; } } } return false; }
@Override public boolean check(UserContext user, InstructionalOffering source) { if (permissionOfferingLockNeeded.check(user, source)) return false; if (source.isNotOffered()) return false; if (permissionDepartment.check( user, source.getDepartment(), DepartmentStatusType.Status.OwnerEdit, DepartmentStatusType.Status.ManagerEdit)) return true; return false; }
@Override public boolean check(UserContext user, DepartmentalInstructor source) { return permissionDepartment.check( user, source.getDepartment(), DepartmentStatusType.Status.OwnerView); }
@Override public boolean check(UserContext user, Department source) { return permissionDepartment.check(user, source, DepartmentStatusType.Status.OwnerLimitedEdit); }
@Override public boolean check(UserContext user, Department source) { return permissionDepartment.check(user, source); }