Fix plain Argeo Suite.
[gpl/argeo-suite.git] / org.argeo.suite.ui / src / org / argeo / suite / ui / DefaultLeadPane.java
index 60accfe2042e2481a2f7e6075785b7aee891205e..7f2fe9fb53d6a6f5019d87817783d94601b8af15 100644 (file)
@@ -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<SuiteLayer> layerObj = layers.get(layerId);
@@ -141,4 +141,14 @@ public class DefaultLeadPane implements CmsUiProvider {
                }
        }
 
+       public void removeLayer(SuiteLayer layer, Map<String, Object> 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<SuiteLayer>(layer, properties))) {
+                                       layers.remove(pid);
+                               }
+                       }
+               }
+       }
 }