private ProjectComponent validateAndGetComponent(Long componentId, String errorMsgNoId, String errorMsgNoCompWithId, ErrorCollection errorCollection) { if(componentId == null) { errorCollection.addErrorMessage(translateKeyToMessage(errorMsgNoId, null), ErrorCollection.Reason.VALIDATION_FAILED); return null; } try { return projectComponentManager.find(componentId); } catch (EntityNotFoundException e) { errorCollection.addErrorMessage(translateKeyToMessage(errorMsgNoCompWithId, componentId.toString()), ErrorCollection.Reason.VALIDATION_FAILED); return null; } }
private void checkProjectAdminPermission(ErrorCollection errorCollection, ProjectComponent component, ApplicationUser user) { if (component == null) { errorCollection.addErrorMessage(translateKeyToMessage(KEY_NO_SUCH_COMPONENT, null), ErrorCollection.Reason.FORBIDDEN); } else { Long projectId = component.getProjectId(); checkProjectAdminPermission(errorCollection, projectId, user); } }
private void checkProjectAdminPermission(ErrorCollection errorCollection, Long projectId, ApplicationUser user) { boolean hasProjectAdminPermission = permissionManager.hasPermission(Permissions.ADMINISTER, user) || permissionManager.hasPermission(ADMINISTER_PROJECTS, projectManager.getProjectObj(projectId), user); if (!hasProjectAdminPermission) { if (user != null) { errorCollection.addErrorMessage(translateKeyToMessage(KEY_USER_NO_PERMISSION_WITH_USER, user.getName()), ErrorCollection.Reason.FORBIDDEN); } else { errorCollection.addErrorMessage(translateKeyToMessage(KEY_USER_NO_PERMISSION, null), ErrorCollection.Reason.FORBIDDEN); } } }