@Override public boolean apply(@Nullable Project input) { return (input != null) && checkActionPermission(user, input, action); } });
@Override public GetProjectResult getProjectByIdForAction(ApplicationUser user, Long id, ProjectAction action) { Project project = projectManager.getProjectObj(id); if (project == null || !checkActionPermission(user, project, ProjectAction.VIEW_PROJECT)) { return new ProjectNotFoundResult(user, "admin.errors.project.not.found.for.id", String.valueOf(id)); } if (!checkActionPermission(user, project, action)) { return new PermissionErrorResult(user, action); } return new GetProjectResult(project); }
@Override public GetProjectResult getProjectByKeyForAction(ApplicationUser user, String key, ProjectAction action) { Assertions.notNull("action", action); Project project = projectManager.getProjectObjByKey(key); if (project == null || !checkActionPermission(user, project, ProjectAction.VIEW_PROJECT)) { return new ProjectNotFoundResult(user, "admin.errors.project.not.found.for.key", key); } if (!checkActionPermission(user, project, action)) { return new PermissionErrorResult(user, action); } return new GetProjectResult(project); }
@Override public Either<Project, ErrorCollection> updateProjectType(ApplicationUser user, Project project, ProjectTypeKey newProjectType) { I18nHelper i18nBean = getI18nBean(user); ErrorCollection errorCollection = new SimpleErrorCollection(); if (!checkActionPermission(user, project, ProjectAction.EDIT_PROJECT_CONFIG)) { errorCollection.addErrorMessage(i18nBean.getText("admin.errors.project.type.update.no.permission"), Reason.FORBIDDEN); } validateProjectType(user, newProjectType, errorCollection, i18nBean); if (errorCollection.hasAnyErrors()) { return Either.right(errorCollection); } return executeUnderClusterLock(getLockNameFor(project), () -> { Project updatedProject = projectManager.updateProjectType(user, project, newProjectType); return notifyProjectTypeUpdated(user, updatedProject, project.getProjectTypeKey(), newProjectType); }); }
if (!StringUtils.equals(oldKey, newKey)) if (!checkActionPermission(user, project, ProjectAction.EDIT_PROJECT_KEY))