diff --git a/pom.xml b/pom.xml index f2b8c136..c76dfbe9 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ 2.4.3 -SNAPSHOT 2.0 - 2.138.3 + 2.138.4 8 2.30 1.12 diff --git a/src/main/java/hudson/security/AuthorizationMatrixProperty.java b/src/main/java/hudson/security/AuthorizationMatrixProperty.java index 00b8f8e6..8066635a 100644 --- a/src/main/java/hudson/security/AuthorizationMatrixProperty.java +++ b/src/main/java/hudson/security/AuthorizationMatrixProperty.java @@ -76,6 +76,7 @@ *

* Once created (and initialized), this object becomes immutable. */ +// TODO attempt to make this OptionalJobProperty public class AuthorizationMatrixProperty extends JobProperty> implements AuthorizationProperty { private final transient SidACL acl = new AclImpl(); diff --git a/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptor.java b/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptor.java index 3700bd7c..b5b62961 100644 --- a/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptor.java +++ b/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptor.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; import static org.jenkinsci.plugins.matrixauth.ValidationUtil.formatNonExistentUserGroupValidationResponse; import static org.jenkinsci.plugins.matrixauth.ValidationUtil.formatUserGroupValidationResponse; @@ -91,6 +92,17 @@ default List getAllGroups() { return groups; } + @Restricted(NoExternalUse.class) // Jelly + default String impliedByList(Permission p) { + List impliedBys = new ArrayList<>(); + while (p.impliedBy != null) { + p = p.impliedBy; + impliedBys.add(p); + } + return StringUtils.join(impliedBys.stream().map(Permission::getId).collect(Collectors.toList()), " "); + } + + @Restricted(DoNotUse.class) // Called from Jelly view default boolean showPermission(Permission p) { if (!p.getEnabled()) { diff --git a/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationMatrixNodeProperty.java b/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationMatrixNodeProperty.java index a3e59996..faf2c891 100644 --- a/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationMatrixNodeProperty.java +++ b/src/main/java/org/jenkinsci/plugins/matrixauth/AuthorizationMatrixNodeProperty.java @@ -179,7 +179,7 @@ public AuthorizationMatrixNodeProperty newInstance(StaplerRequest req, @Nonnull @Override public boolean isApplicable(Class node) { - return Node.class.isAssignableFrom(node) && isApplicable(); + return isApplicable(); } @Nonnull diff --git a/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly b/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly index a954eb5d..c61578bb 100644 --- a/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly +++ b/src/main/resources/hudson/security/GlobalMatrixAuthorizationStrategy/config.jelly @@ -50,7 +50,7 @@ THE SOFTWARE. - + @@ -126,7 +126,7 @@ THE SOFTWARE. - + @@ -139,13 +139,12 @@ THE SOFTWARE.