r1509 - in xwiki/trunk/core/src/main/java/com/xpn/xwiki: . api

Jeremi Joslin jeremi at users.forge.objectweb.org
Fri Nov 3 22:36:09 CET 2006


Author: jeremi
Date: 2006-11-03 22:36:08 +0100 (Fri, 03 Nov 2006)
New Revision: 1509

Modified:
   xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java
   xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/XWiki.java
Log:
[GELC]
* modify renameDocument of the API, and remove the right checking from the non wrapped object

Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java	2006-11-03 14:53:31 UTC (rev 1508)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java	2006-11-03 21:36:08 UTC (rev 1509)
@@ -3928,13 +3928,7 @@
     public XWikiDocument renamePage(XWikiDocument doc, String newFullName, XWikiContext context) throws XWikiException {
         if (context.getWiki().exists(newFullName, context)){
             XWikiDocument delDoc = context.getWiki().getDocument(newFullName, context);
-            if (checkAccess("delete", delDoc, context))
-                context.getWiki().deleteDocument(delDoc, context);
-            else
-                throw new XWikiException(XWikiException.MODULE_XWIKI_ACCESS,
-                            XWikiException.ERROR_XWIKI_ACCESS_DENIED,
-                            "delete the destination document is denied");
-
+            context.getWiki().deleteDocument(delDoc, context);
         }
         XWikiDocument renamedDoc = doc.copyDocument(newFullName, context);
         saveDocument(renamedDoc, context);
@@ -4227,4 +4221,8 @@
     public String addTooltip(String html, String message, XWikiContext context) {
         return addTooltip(html, message, "this.WIDTH='300'", context);
     }
+
+    public void renamePage(String fullName, String newFullName, XWikiContext context) throws XWikiException {
+        renamePage(context.getWiki().getDocument(fullName, context), newFullName, context);
+    }
 }

Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/XWiki.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/XWiki.java	2006-11-03 14:53:31 UTC (rev 1508)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/XWiki.java	2006-11-03 21:36:08 UTC (rev 1509)
@@ -1881,10 +1881,17 @@
      * @param newFullName target page name to move the information to
      * @throws XWikiException exception if the rename fails
      */
-    public void renamePage(XWikiDocument doc, String newFullName) throws XWikiException {
-        if (xwiki.getRightService().hasAccessLevel("edit", context.getUser(), doc.getFullName(), context)) {
-            xwiki.renamePage(doc, newFullName, context);
+    public boolean renamePage(Document doc, String newFullName){
+        try {
+            if (xwiki.exists(newFullName, context) && !xwiki.getRightService().hasAccessLevel("delete", context.getUser(), newFullName, context))
+                return false;       
+            if (xwiki.getRightService().hasAccessLevel("edit", context.getUser(), doc.getFullName(), context)) {
+                xwiki.renamePage(doc.getFullName(), newFullName, context);
+            }
+        } catch (XWikiException e) {
+            return false;
         }
+        return true;
     }
 
     /**





More information about the Xwiki-notifications mailing list