Mathijs den Burger pushed to branch feature/delete-channel at cms-community / hippo-site-toolkit
Commits: 0a6c2908 by Tobias Jeger at 2016-08-10T14:37:17+02:00 HSTTWO-3728 Add channel deletion support flag - - - - - 8d4e8a42 by Mathijs den Burger at 2016-08-12T16:23:23+02:00 HSTTWO-3728 Move canDeleteChannel to composermode response The data of the separate /features call can also be returned in the composermode call, which (once we get rid of /features) saves a REST call. Also moved the canManageChanges logic to here. For now both canDeleteChannel and canManageChanges do not check the actual permissions of the current user. That will be fixed later. - - - - - 2fc98880 by Mathijs den Burger at 2016-08-12T16:44:42+02:00 HSTTWO-3728 Reintegrate feature/delete-channel-HSTTWO-3728 - - - - - 1 changed file: - client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/RootResource.java Changes: ===================================== client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/RootResource.java ===================================== --- a/client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/RootResource.java +++ b/client-modules/page-composer/src/main/java/org/hippoecm/hst/pagecomposer/jaxrs/services/RootResource.java @@ -168,7 +168,7 @@ public class RootResource extends AbstractConfigResource { @GET @Path("/features") public Response getFeatures() { - final Boolean crossChannelPageCopySupported = HstServices.getComponentManager().getContainerConfiguration().getBoolean("cross.channel.page.copy.supported", false); + final boolean crossChannelPageCopySupported = HstServices.getComponentManager().getContainerConfiguration().getBoolean("cross.channel.page.copy.supported", false); final FeaturesRepresentation featuresRepresentation = new FeaturesRepresentation(); featuresRepresentation.setCrossChannelPageCopySupported(crossChannelPageCopySupported); return ok("Fetched features", featuresRepresentation); @@ -184,6 +184,7 @@ public class RootResource extends AbstractConfigResource { session.setAttribute(ContainerConstants.RENDERING_HOST, renderingHost); session.setAttribute(ContainerConstants.COMPOSER_MODE_ATTR_NAME, Boolean.TRUE); session.setAttribute(ContainerConstants.CMS_REQUEST_RENDERING_MOUNT_ID, mountId); + boolean canWrite; try { HstRequestContext requestContext = getPageComposerContextService().getRequestContext(); @@ -193,8 +194,16 @@ public class RootResource extends AbstractConfigResource { return error("Could not determine authorization", e); } + final boolean channelDeletionSupported = HstServices.getComponentManager().getContainerConfiguration().getBoolean("channel.deletion.supported", false); + + // TODO: test whether the user has admin privileges + final boolean canDeleteChannel = channelDeletionSupported; + final boolean canManageChanges = true; + HandshakeResponse response = new HandshakeResponse(); response.setCanWrite(canWrite); + response.setCanManageChanges(canManageChanges); + response.setCanDeleteChannel(canDeleteChannel); response.setSessionId(session.getId()); log.info("Composer-Mode successful"); return ok("Composer-Mode successful", response); @@ -233,6 +242,8 @@ public class RootResource extends AbstractConfigResource { private static class HandshakeResponse { private boolean canWrite; + private boolean canManageChanges; + private boolean canDeleteChannel; private String sessionId; public boolean isCanWrite() { @@ -243,6 +254,22 @@ public class RootResource extends AbstractConfigResource { this.canWrite = canWrite; } + public boolean isCanManageChanges() { + return canManageChanges; + } + + public void setCanManageChanges(final boolean canManageChanges) { + this.canManageChanges = canManageChanges; + } + + public boolean isCanDeleteChannel() { + return canDeleteChannel; + } + + public void setCanDeleteChannel(final boolean canDeleteChannel) { + this.canDeleteChannel = canDeleteChannel; + } + public String getSessionId() { return sessionId; } View it on GitLab: https://code.onehippo.org/cms-community/hippo-site-toolkit/compare/1d9e53d56b374b767fb40b43d382ba2dec622397...2fc98880e4cfbf45539d13d112afcc4ff0627a2b
_______________________________________________ Hippocms-svn mailing list Hippocms-svn@lists.onehippo.org https://lists.onehippo.org/mailman/listinfo/hippocms-svn