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%2FSuiteApp.java;h=d00efc9208469daa38f561163bdaee0c6a110a41;hp=db8a8dc17e0d589d01d2ae0de04580bfe0e7744d;hb=58cf7a0df60e5f17d34dd26b9d08b00939d29d41;hpb=25ed06d42600a81063515220c51ac2d93fefa27a diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java index db8a8dc..d00efc9 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java @@ -136,7 +136,7 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { Session adminSession = null; try { adminSession = NodeUtils.openDataAdminSession(getRepository(), null); - Node userDir = SuiteUtils.getOrCreateSessionDir(adminSession, cmsSession); + Node userDir = SuiteUtils.getOrCreateCmsSessionNode(adminSession, cmsSession); ui.initSessions(getRepository(), userDir.getPath()); } finally { Jcr.logout(adminSession); @@ -323,22 +323,27 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { // Specific UI related events SuiteUi ui = getRelatedUi(event); try { - String currentLayerId = ui.getCurrentLayerId(); - SuiteLayer currentLayer = currentLayerId != null ? layersByPid.get(currentLayerId).get() : null; +// String currentLayerId = ui.getCurrentLayerId(); +// SuiteLayer currentLayer = currentLayerId != null ? layersByPid.get(currentLayerId).get() : null; if (isTopic(event, SuiteEvent.refreshPart)) { Node node = getNode(ui, event); CmsUiProvider uiProvider = findByType(uiProvidersByType, node); - currentLayer.view(uiProvider, ui.getCurrentWorkArea(), node); + SuiteLayer layer = findByType(layersByType, node); + ui.switchToLayer(layer, node); + layer.view(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), Jcr.getTitle(node)); } else if (isTopic(event, SuiteEvent.openNewPart)) { Node node = getNode(ui, event); CmsUiProvider uiProvider = findByType(uiProvidersByType, node); - currentLayer.open(uiProvider, ui.getCurrentWorkArea(), node); + SuiteLayer layer = findByType(layersByType, node); + ui.switchToLayer(layer, node); + layer.open(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), Jcr.getTitle(node)); } else if (isTopic(event, SuiteEvent.switchLayer)) { String layerId = get(event, SuiteEvent.LAYER); if (layerId != null) { - ui.switchToLayer(layerId, Jcr.getRootNode(ui.getSession(null))); + ui.switchToLayer(layerId, ui.getUserDir()); + // ui.getCmsView().navigateTo("~"); } else { Node node = getNode(ui, event); if (node != null) {