From: Mathieu Baudier Date: Thu, 12 Feb 2015 16:46:42 +0000 (+0000) Subject: Make Wiki handle gracefuly when it doesn't have the authorizations X-Git-Tag: argeo-commons-2.1.30~386 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=33a2afc9b988ccbbe6586af28fbe75e6a4f81878;p=lgpl%2Fargeo-commons.git Make Wiki handle gracefuly when it doesn't have the authorizations git-svn-id: https://svn.argeo.org/commons/trunk@7822 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.cms/src/org/argeo/cms/text/WikiPage.java b/org.argeo.cms/src/org/argeo/cms/text/WikiPage.java index 65afeca4b..38af381a5 100644 --- a/org.argeo.cms/src/org/argeo/cms/text/WikiPage.java +++ b/org.argeo.cms/src/org/argeo/cms/text/WikiPage.java @@ -3,6 +3,7 @@ package org.argeo.cms.text; import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; +import javax.jcr.Session; import javax.jcr.nodetype.NodeType; import org.argeo.cms.CmsEditable; @@ -39,23 +40,26 @@ public class WikiPage implements CmsUiProvider, CmsNames { } else if (context.isNodeType(NodeType.NT_FOLDER) || context.getPath().equals("/")) { parent.setBackgroundMode(SWT.INHERIT_NONE); - Node indexNode = JcrUtils.getOrAdd(context, CMS_INDEX, - CmsTypes.CMS_TEXT); - new StandardTextEditor(page, SWT.NONE, indexNode, cmsEditable); - textGd.heightHint = 400; + if (context.getSession().hasPermission(context.getPath(), + Session.ACTION_ADD_NODE)) { + Node indexNode = JcrUtils.getOrAdd(context, CMS_INDEX, + CmsTypes.CMS_TEXT); + new StandardTextEditor(page, SWT.NONE, indexNode, cmsEditable); + textGd.heightHint = 400; - for (NodeIterator ni = context.getNodes(); ni.hasNext();) { - Node textNode = ni.nextNode(); - if (textNode.isNodeType(NodeType.NT_FOLDER)) - new CmsLink(textNode.getName() + "/", textNode.getPath()) - .createUi(parent, textNode); - } - for (NodeIterator ni = context.getNodes(); ni.hasNext();) { - Node textNode = ni.nextNode(); - if (textNode.isNodeType(CmsTypes.CMS_TEXT) - && !textNode.getName().equals(CMS_INDEX)) - new CmsLink(textNode.getName(), textNode.getPath()) - .createUi(parent, textNode); + for (NodeIterator ni = context.getNodes(); ni.hasNext();) { + Node textNode = ni.nextNode(); + if (textNode.isNodeType(NodeType.NT_FOLDER)) + new CmsLink(textNode.getName() + "/", + textNode.getPath()).createUi(parent, textNode); + } + for (NodeIterator ni = context.getNodes(); ni.hasNext();) { + Node textNode = ni.nextNode(); + if (textNode.isNodeType(CmsTypes.CMS_TEXT) + && !textNode.getName().equals(CMS_INDEX)) + new CmsLink(textNode.getName(), textNode.getPath()) + .createUi(parent, textNode); + } } } return page;