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 extends Node> 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.