X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FDefaultLeadPane.java;h=7f2fe9fb53d6a6f5019d87817783d94601b8af15;hp=60accfe2042e2481a2f7e6075785b7aee891205e;hb=c813f6f1fdff65e43bdf56a49f9a93ddc8808d73;hpb=25acaf721ed29e8cbe1701578a5b225d77c928de diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java index 60accfe..7f2fe9f 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java @@ -74,7 +74,7 @@ public class DefaultLeadPane implements CmsUiProvider { // TODO factorise boolean isAdmin = cmsView.doAs(() -> CurrentUser.isInRole(NodeConstants.ROLE_USER_ADMIN)); - if (isAdmin) + if (isAdmin && adminLayers != null) for (String layerId : adminLayers) { if (layers.containsKey(layerId)) { RankedObject layerObj = layers.get(layerId); @@ -141,4 +141,14 @@ public class DefaultLeadPane implements CmsUiProvider { } } + public void removeLayer(SuiteLayer layer, Map properties) { + if (properties.containsKey(Constants.SERVICE_PID)) { + String pid = (String) properties.get(Constants.SERVICE_PID); + if (layers.containsKey(pid)) { + if (layers.get(pid).equals(new RankedObject(layer, properties))) { + layers.remove(pid); + } + } + } + } }