r968 - in xwiki/trunk/src/main/java/com/xpn/xwiki: . api web

Ludovic Dubost ludovic at users.forge.objectweb.org
Thu Mar 9 13:14:04 CET 2006


Author: ludovic
Date: 2006-03-09 13:14:02 +0100 (Thu, 09 Mar 2006)
New Revision: 968

Modified:
   xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java
   xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java
   xwiki/trunk/src/main/java/com/xpn/xwiki/web/XWikiServletURLFactory.java
Log:
Fix a call to display which was forcing view mode
Fix a bug in display which call to use
Added default setting to show "view" action in URL and added param in xwiki.cfg to disable it
Made skin a user preference

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java	2006-03-08 08:36:16 UTC (rev 967)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/XWiki.java	2006-03-09 12:14:02 UTC (rev 968)
@@ -1029,7 +1029,7 @@
             }
 
             if ((skin == null) || (skin.equals(""))) {
-                skin = getWebPreference("skin", "", context);
+                skin = getUserPreference("skin", context);
             }
             if (skin.equals("")) {
                 skin = Param("xwiki.defaultskin", "default");
@@ -3276,6 +3276,15 @@
         return "1".equals(Param("xwiki.usedefaultweb", "0"));
     }
 
+    public boolean showViewAction(XWikiContext context) {
+        String bl = getXWikiPreference("showviewaction", "", context);
+        if ("1".equals(bl))
+            return true;
+        if ("0".equals(bl))
+            return false;
+        return "1".equals(Param("xwiki.showviewaction", "1"));
+    }
+
     public boolean useDefaultAction(XWikiContext context) {
         String bl = getXWikiPreference("usedefaultaction", "", context);
         if ("1".equals(bl))

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java	2006-03-08 08:36:16 UTC (rev 967)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java	2006-03-09 12:14:02 UTC (rev 968)
@@ -445,7 +445,7 @@
         if (currentObj==null)
          return doc.display(fieldname, context);
         else
-         return doc.display(fieldname, "view", currentObj.getBaseObject(), context);
+         return doc.display(fieldname, currentObj.getBaseObject(), context);
     }
 
     public String display(String fieldname, String mode) {
@@ -720,6 +720,8 @@
     }
 
     public java.lang.Object get(String classOrFieldName) {
+        if (currentObj!=null)
+            return doc.display(classOrFieldName, currentObj.getBaseObject(), context);
         BaseObject object = doc.getFirstObject(classOrFieldName);
         if (object!=null) {
             return doc.display(classOrFieldName, object, context);

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/web/XWikiServletURLFactory.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/web/XWikiServletURLFactory.java	2006-03-08 08:36:16 UTC (rev 967)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/web/XWikiServletURLFactory.java	2006-03-09 12:14:02 UTC (rev 968)
@@ -123,7 +123,7 @@
                          String xwikidb, XWikiContext context) {
         StringBuffer newpath = new StringBuffer(servletPath);
         newpath.append(actionPath);
-        addAction(newpath, action);
+        addAction(newpath, action, context);
         addSpace(newpath, web, action, context);
         addName(newpath, name, action, context);
 
@@ -146,8 +146,9 @@
         }
     }
 
-    private void addAction(StringBuffer newpath, String action) {
-        if (!action.equals("view")) {
+    private void addAction(StringBuffer newpath, String action, XWikiContext context) {
+        boolean showViewAction = context.getWiki().showViewAction(context);
+        if ((!action.equals("view")||(showViewAction))) {
             newpath.append(action);
             newpath.append("/");
         }
@@ -202,7 +203,7 @@
     public URL createSkinURL(String filename, String web, String name, String xwikidb, XWikiContext context) {
         StringBuffer newpath = new StringBuffer(servletPath);
         newpath.append(actionPath);
-        addAction(newpath, "skin");
+        addAction(newpath, "skin", context);
         addSpace(newpath, web, "skin", context);
         addName(newpath, name, "skin", context);
         addFileName(newpath, filename, context);
@@ -230,7 +231,7 @@
     public URL createAttachmentURL(String filename, String web, String name, String action, String xwikidb, XWikiContext context) {
         StringBuffer newpath = new StringBuffer(servletPath);
         newpath.append(actionPath);
-        addAction(newpath, action);
+        addAction(newpath, action, context);
         addSpace(newpath, web, action, context);
         addName(newpath, name, action, context);
         addFileName(newpath, filename, context);
@@ -246,7 +247,7 @@
         String action = "downloadrev";
         StringBuffer newpath = new StringBuffer(servletPath);
         newpath.append(actionPath);
-        addAction(newpath, action);
+        addAction(newpath, action, context);
         addSpace(newpath, web, action, context);
         addName(newpath, name, action, context);
         addFileName(newpath, filename, context);





More information about the Xwiki-notifications mailing list