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

Reply via email to