X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Ftext%2FWikiPage.java;h=38af381a59927a17ed361fc86f7e60bc2699d4e3;hb=86db10fcb2299ebf71d5599a80dc54444b26f893;hp=17c3d9c3a59065499951f1b11307aa46b8fc5749;hpb=998cdf60d00ffc35d987bdb373a9676b095f16f8;p=lgpl%2Fargeo-commons.git 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 17c3d9c3a..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,14 +3,15 @@ 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; -import org.argeo.cms.CmsLink; import org.argeo.cms.CmsNames; import org.argeo.cms.CmsTypes; import org.argeo.cms.CmsUiProvider; -import org.argeo.cms.CmsUtils; +import org.argeo.cms.util.CmsLink; +import org.argeo.cms.util.CmsUtils; import org.argeo.cms.viewers.JcrVersionCmsEditable; import org.argeo.cms.widgets.ScrolledPage; import org.argeo.jcr.JcrUtils; @@ -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;