Search in sources :

Example 1 with ProjectPermissions

use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.

the class ProjectServiceImpl method modifyPermissions.

@Override
public ProjectPermissions modifyPermissions(final ProjectName projectName, final ProjectPermissions projectPermissions) {
    if (ProjectConstants.DEFAULT_PROJECT_NAME.equals(projectName)) {
        throw new IllegalArgumentException("Default project permissions cannot be modified.");
    }
    return callWithUpdateContext(() -> {
        final ProjectPermissions result = doModifyPermissions(projectName, projectPermissions);
        LOG.debug("Project permissions updated: " + projectName);
        return result;
    }, projectName);
}
Also used : ProjectPermissions(com.enonic.xp.project.ProjectPermissions)

Example 2 with ProjectPermissions

use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.

the class ModifyProjectHandler method doExecute.

@Override
protected ProjectMapper doExecute() {
    final Project projectBeforeUpdate = this.projectService.get(this.id);
    final ModifyProjectParams params = modifyProjectParams(projectBeforeUpdate);
    final Project project = this.projectService.modify(params);
    Locale projectLanguage;
    if (this.language != null) {
        projectLanguage = ApplyProjectLanguageCommand.create().projectName(this.id).language(this.language).contentService(this.contentService).build().execute();
    } else {
        projectLanguage = GetProjectLanguageCommand.create().projectName(this.id).contentService(this.contentService).build().execute();
    }
    final Boolean isPublic = GetProjectReadAccessCommand.create().projectName(this.id).contentService(this.contentService).build().execute();
    final ProjectPermissions projectPermissions = this.projectService.getPermissions(this.id);
    return ProjectMapper.create().setProject(project).setLanguage(projectLanguage).setProjectPermissions(projectPermissions).setIsPublic(isPublic).build();
}
Also used : Locale(java.util.Locale) Project(com.enonic.xp.project.Project) ModifyProjectParams(com.enonic.xp.project.ModifyProjectParams) ProjectPermissions(com.enonic.xp.project.ProjectPermissions)

Example 3 with ProjectPermissions

use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.

the class ModifyProjectPermissionsHandler method doExecute.

@Override
protected ProjectPermissionsMapper doExecute() {
    final ProjectPermissions permissionsBeforeUpdate = this.projectService.getPermissions(this.id);
    final ProjectPermissions projectPermissions = this.permissions != null ? this.projectService.modifyPermissions(this.id, merge(permissionsBeforeUpdate, this.permissions)) : this.projectService.getPermissions(this.id);
    return new ProjectPermissionsMapper(projectPermissions);
}
Also used : ProjectPermissions(com.enonic.xp.project.ProjectPermissions) ProjectPermissionsMapper(com.enonic.xp.lib.project.mapper.ProjectPermissionsMapper)

Example 4 with ProjectPermissions

use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.

the class BaseProjectHandlerTest method mockProject.

protected void mockProject() {
    final Map<ProjectName, Project> projects = new HashMap<>();
    when(this.projectService.create(any(CreateProjectParams.class))).thenAnswer(mock -> {
        final Project project = createProject((CreateProjectParams) mock.getArguments()[0]);
        Mockito.when(projectService.get(project.getName())).thenReturn(project);
        Mockito.when(projectService.delete(project.getName())).thenReturn(true);
        projects.put(project.getName(), project);
        return project;
    });
    when(this.projectService.modify(any(ModifyProjectParams.class))).thenAnswer(mock -> {
        final Project project = createProject((ModifyProjectParams) mock.getArguments()[0]);
        Mockito.when(projectService.get(project.getName())).thenReturn(project);
        projects.put(project.getName(), project);
        return project;
    });
    when(this.projectService.list()).thenAnswer(mock -> Projects.create().addAll(projects.values()).build());
    when(this.projectService.getPermissions(any(ProjectName.class))).thenReturn(ProjectPermissions.create().build());
    when(this.projectService.modifyPermissions(any(ProjectName.class), any(ProjectPermissions.class))).thenAnswer(mock -> {
        final ProjectName projectName = (ProjectName) mock.getArguments()[0];
        final ProjectPermissions projectPermissions = (ProjectPermissions) mock.getArguments()[1];
        Mockito.when(projectService.getPermissions(projectName)).thenReturn(projectPermissions);
        return projectPermissions;
    });
}
Also used : Project(com.enonic.xp.project.Project) ModifyProjectParams(com.enonic.xp.project.ModifyProjectParams) ProjectName(com.enonic.xp.project.ProjectName) HashMap(java.util.HashMap) ProjectPermissions(com.enonic.xp.project.ProjectPermissions) CreateProjectParams(com.enonic.xp.project.CreateProjectParams)

Example 5 with ProjectPermissions

use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.

the class CreateProjectHandler method doExecute.

@Override
protected ProjectMapper doExecute() {
    final CreateProjectParams params = createProjectParams();
    final Project project = this.projectService.create(params);
    final Locale modifiedLanguage = this.language != null ? ApplyProjectLanguageCommand.create().projectName(this.id).language(this.language).contentService(this.contentService).build().execute() : null;
    final ProjectPermissions modifiedPermissions = this.permissions != null ? this.projectService.modifyPermissions(this.id, this.permissions) : ProjectPermissions.create().build();
    return ProjectMapper.create().setProject(project).setLanguage(modifiedLanguage).setProjectPermissions(modifiedPermissions).setIsPublic(isPublic).build();
}
Also used : Locale(java.util.Locale) Project(com.enonic.xp.project.Project) ProjectPermissions(com.enonic.xp.project.ProjectPermissions) CreateProjectParams(com.enonic.xp.project.CreateProjectParams)

Aggregations

ProjectPermissions (com.enonic.xp.project.ProjectPermissions)6 Project (com.enonic.xp.project.Project)4 Locale (java.util.Locale)3 CreateProjectParams (com.enonic.xp.project.CreateProjectParams)2 ModifyProjectParams (com.enonic.xp.project.ModifyProjectParams)2 ProjectPermissionsMapper (com.enonic.xp.lib.project.mapper.ProjectPermissionsMapper)1 ProjectName (com.enonic.xp.project.ProjectName)1 HashMap (java.util.HashMap)1