From ab6be650e96db4fefd0788bdb09c8ec42ff443d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Tue, 22 Sep 2020 10:08:30 +0200 Subject: [PATCH] Simplify permissions --- .../scm/api/v2/resources/NamespaceToNamespaceDtoMapper.java | 2 +- .../resources/RepositoryPermissionCollectionToDtoMapper.java | 4 +--- .../java/sonia/scm/repository/DefaultNamespaceManager.java | 2 +- scm-webapp/src/main/resources/META-INF/scm/permissions.xml | 2 +- scm-webapp/src/main/resources/locales/de/plugins.json | 2 +- scm-webapp/src/main/resources/locales/en/plugins.json | 2 +- 6 files changed, 6 insertions(+), 8 deletions(-) diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/NamespaceToNamespaceDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/NamespaceToNamespaceDtoMapper.java index 70b85374ce..5067f95c0f 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/NamespaceToNamespaceDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/NamespaceToNamespaceDtoMapper.java @@ -47,7 +47,7 @@ class NamespaceToNamespaceDtoMapper { .self(links.namespace().self(namespace)) .single(link("repositories", links.repositoryCollection().forNamespace(namespace))); - if (NamespacePermissions.permissionRead().isPermitted() || NamespacePermissions.permissionWrite().isPermitted()) { + if (NamespacePermissions.permissionRead().isPermitted()) { linkingTo .single(link("permissions", links.namespacePermission().all(namespace))); } diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryPermissionCollectionToDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryPermissionCollectionToDtoMapper.java index 6928dec872..db285c369a 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryPermissionCollectionToDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryPermissionCollectionToDtoMapper.java @@ -78,9 +78,7 @@ public class RepositoryPermissionCollectionToDtoMapper { } private Links createLinks(Namespace namespace) { - if (!NamespacePermissions.permissionWrite().isPermitted()) { - NamespacePermissions.permissionRead().check(); - } + NamespacePermissions.permissionRead().check(); Links.Builder linksBuilder = linkingTo() .with(Links.linkingTo().self(resourceLinks.namespacePermission().all(namespace.getNamespace())).build()); if (NamespacePermissions.permissionWrite().isPermitted()) { diff --git a/scm-webapp/src/main/java/sonia/scm/repository/DefaultNamespaceManager.java b/scm-webapp/src/main/java/sonia/scm/repository/DefaultNamespaceManager.java index 6d6ef8963f..c291cfa97e 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/DefaultNamespaceManager.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/DefaultNamespaceManager.java @@ -104,7 +104,7 @@ public class DefaultNamespaceManager implements NamespaceManager { } private Namespace createNamespaceForName(String namespace) { - if (NamespacePermissions.permissionRead().isPermitted() || NamespacePermissions.permissionWrite().isPermitted()) { + if (NamespacePermissions.permissionRead().isPermitted()) { return dao.get(namespace) .map(Namespace::clone) .orElse(new Namespace(namespace)); diff --git a/scm-webapp/src/main/resources/META-INF/scm/permissions.xml b/scm-webapp/src/main/resources/META-INF/scm/permissions.xml index 0889341d25..76d1e7fa46 100644 --- a/scm-webapp/src/main/resources/META-INF/scm/permissions.xml +++ b/scm-webapp/src/main/resources/META-INF/scm/permissions.xml @@ -48,7 +48,7 @@ namespace:permissionRead - namespace:permissionWrite + namespace:permissionRead,permissionWrite user:* diff --git a/scm-webapp/src/main/resources/locales/de/plugins.json b/scm-webapp/src/main/resources/locales/de/plugins.json index f3372e2d85..cf2c29f21f 100644 --- a/scm-webapp/src/main/resources/locales/de/plugins.json +++ b/scm-webapp/src/main/resources/locales/de/plugins.json @@ -98,7 +98,7 @@ "displayName": "Berechtigungen auf Namespaces lesen", "description": "Darf die Berechtigungen auf Namespace-Ebene sehen" }, - "permissionWrite": { + "permissionRead,permissionWrite": { "displayName": "Berechtigungen auf Namespaces modifizieren", "description": "Darf die Berechtigungen auf Namespace-Ebene lesen und bearbeiten" } diff --git a/scm-webapp/src/main/resources/locales/en/plugins.json b/scm-webapp/src/main/resources/locales/en/plugins.json index 3dfeef2300..4de2202976 100644 --- a/scm-webapp/src/main/resources/locales/en/plugins.json +++ b/scm-webapp/src/main/resources/locales/en/plugins.json @@ -98,7 +98,7 @@ "displayName": "Read permissions on namespaces", "description": "May see the permissions set for namespaces" }, - "permissionWrite": { + "permissionRead,permissionWrite": { "displayName": "Modify permissions on namespaces", "description": "May read and modify the permissions set for namespaces" }