You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by gm...@apache.org on 2014/07/29 18:45:58 UTC

svn commit: r1614415 - in /roller/trunk/app/src/main: java/org/apache/roller/weblogger/ui/struts2/editor/ java/org/apache/roller/weblogger/ui/struts2/util/ resources/ resources/org/apache/roller/weblogger/ui/struts2/editor/ webapp/WEB-INF/jsps/editor/

Author: gmazza
Date: Tue Jul 29 16:45:58 2014
New Revision: 1614415

URL: http://svn.apache.org/r1614415
Log:
Default permission unless manually overridden upped from POST to ADMIN, cancel functionality for deleting blog entries now routing properly back to page where delete button was pressed, those with edit_draft permission can now select images for their blog articles (although still not allowed to create images.)

Modified:
    roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
    roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
    roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java
    roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java
    roller/trunk/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml
    roller/trunk/app/src/main/resources/struts.xml
    roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemove.jsp
    roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemoveViaList.jsp

Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java Tue Jul 29 16:45:58 2014
@@ -45,9 +45,9 @@ public class EntryRemove extends EntryBa
 	private WeblogEntry removeEntry = null;
 
 	public EntryRemove() {
-		this.actionName = "entryRemove";
+        // actionName defined in struts.xml as it's different based on the caller
 		this.desiredMenu = "editor";
-		this.pageTitle = "weblogEdit.title.newEntry";
+		this.pageTitle = "weblogEdit.deleteEntry";
 	}
 
 	public void myPrepare() {

Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java Tue Jul 29 16:45:58 2014
@@ -30,6 +30,7 @@ import org.apache.roller.weblogger.pojos
 import org.apache.roller.weblogger.pojos.MediaFileDirectory;
 import org.apache.roller.weblogger.pojos.MediaFileDirectoryComparator;
 import org.apache.roller.weblogger.pojos.MediaFileDirectoryComparator.DirectoryComparatorType;
+import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 
 /**
@@ -47,6 +48,10 @@ public class MediaFileBase extends UIAct
     private List<MediaFileDirectory> allDirectories;
     private boolean overlayMode;
 
+    public List<String> requiredWeblogPermissionActions() {
+        return Collections.singletonList(WeblogPermission.POST);
+    }
+
     /**
      * Deletes media file
      */

Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java Tue Jul 29 16:45:58 2014
@@ -31,6 +31,7 @@ import org.apache.roller.weblogger.pojos
 import org.apache.roller.weblogger.pojos.MediaFileDirectory;
 import org.apache.roller.weblogger.pojos.MediaFileDirectoryComparator;
 import org.apache.roller.weblogger.pojos.MediaFileDirectoryComparator.DirectoryComparatorType;
+import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.KeyValueObject;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
@@ -59,6 +60,10 @@ public class MediaFileImageChooser exten
     public void myPrepare() {
     }
 
+    public List<String> requiredWeblogPermissionActions() {
+        return Collections.singletonList(WeblogPermission.EDIT_DRAFT);
+    }
+
     /**
      * Fetches and displays list of media file for the given directory. The
      * directory could be chosen by ID or path.

Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/util/UIAction.java Tue Jul 29 16:45:58 2014
@@ -113,12 +113,11 @@ public abstract class UIAction extends A
         return true;
     }
     
-    
+    // Default is ADMIN for safety, if a subclasser forgets to override this only admins can use.
     public List<String> requiredWeblogPermissionActions() {
-        return Collections.singletonList(WeblogPermission.POST);
+        return Collections.singletonList(WeblogPermission.ADMIN);
     }
-    
-    
+
     public List<String> requiredGlobalPermissionActions() {
         return Collections.singletonList(GlobalPermission.LOGIN);
     }

Modified: roller/trunk/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml (original)
+++ roller/trunk/app/src/main/resources/org/apache/roller/weblogger/ui/struts2/editor/editor-menu.xml Tue Jul 29 16:45:58 2014
@@ -38,8 +38,9 @@ Each menu or menu item is governed by fo
         <!-- globalPerms="login" -->
         <menu-item action="entries" 
                    name="tabbedmenu.weblog.archives" 
-                   weblogPerms="post" />
-        
+                   weblogPerms="post"
+                   subactions="entryRemoveViaList" />
+
         <!-- globalPerms="login" -->
         <menu-item action="comments" 
                    name="tabbedmenu.admin.commentManagement" 

Modified: roller/trunk/app/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/struts.xml?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/struts.xml (original)
+++ roller/trunk/app/src/main/resources/struts.xml Tue Jul 29 16:45:58 2014
@@ -39,7 +39,7 @@
                 <interceptor-ref name="fileUpload"/>
                 <interceptor-ref name="checkbox"/>
                 <interceptor-ref name="multiselect"/>
-                <!-- <interceptor-ref name="staticParams"/> -->
+                <interceptor-ref name="staticParams"/>
                 <interceptor-ref name="actionMappingParams"/>
                 <interceptor-ref name="params">
                     <param name="excludeParams">^action:.*,^method:.*</param>
@@ -290,12 +290,9 @@
         
         <action name="entryRemove!*" method="{1}"
                 class="org.apache.roller.weblogger.ui.struts2.editor.EntryRemove">
+            <param name="actionName">entryRemove</param>
             <result name="input" type="tiles">.EntryRemove</result>
             <result name="error" type="chain">menu</result>
-            <result name="cancel" type="redirectAction">
-                <param name="actionName">entries</param>
-                <param name="weblog">${weblog}</param>
-            </result>
             <result name="success" type="chain">entryAdd</result>
         </action>
 
@@ -303,6 +300,12 @@
         as return page is different (the list of entries in this case, new blog
         entry in the other.
 
+        Also defining an actionName parameter here different from that defined above.
+        This actionName, used to determine which menu item to highlight, is configured
+        in editor-menu.xml.  This value is read by class EntryRemove and used by
+        class MenuHelper to highlight the correct menu item.  See Struts2
+        StaticParametersInterceptor javadoc for more info.
+
         Process flow:
         1. Delete item on entries.jsp activates this action.
         2. Tiles.xml is consulted to satisfy the input (here, EntryRemoveViaList.jsp
@@ -314,9 +317,14 @@
         -->
         <action name="entryRemoveViaList!*" method="{1}"
               class="org.apache.roller.weblogger.ui.struts2.editor.EntryRemove">
+          <param name="actionName">entryRemoveViaList</param>
           <result name="input" type="tiles">.EntryRemoveViaList</result>
           <result name="error" type="chain">menu</result>
           <result name="success" type="chain">entries</result>
+          <result name="cancel" type="redirectAction">
+              <param name="actionName">entries</param>
+              <param name="weblog">${weblog}</param>
+          </result>
         </action>
 
         <action name="entries"

Modified: roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemove.jsp
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemove.jsp?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemove.jsp (original)
+++ roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemove.jsp Tue Jul 29 16:45:58 2014
@@ -41,7 +41,8 @@
     <s:form action="entryEdit">
 		<s:hidden name="salt" />
         <s:hidden name="weblog" />
-        <s:submit value="%{getText('generic.no')}" action="entryRemove!cancel" />
+        <s:hidden name="bean.id" value="%{removeEntry.id}"/>
+        <s:submit value="%{getText('generic.no')}"/>
     </s:form>
 </td>
 </tr>

Modified: roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemoveViaList.jsp
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemoveViaList.jsp?rev=1614415&r1=1614414&r2=1614415&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemoveViaList.jsp (original)
+++ roller/trunk/app/src/main/webapp/WEB-INF/jsps/editor/EntryRemoveViaList.jsp Tue Jul 29 16:45:58 2014
@@ -17,7 +17,7 @@
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
 
-<%-- Page same as EntryRemove.jsp except has different action values to accomodate returning
+<%-- Page same as EntryRemove.jsp except has different action values to accommodate returning
      to the entries list instead of the new entry page.  See struts.xml for action flow.  --%>
 <h2>
     <s:text name="weblogEntryRemove.removeWeblogEntry" /> [<s:property value="removeEntry.title"/>]
@@ -43,7 +43,7 @@
     <s:form action="entries">
 		<s:hidden name="salt" />
         <s:hidden name="weblog" />
-        <s:submit value="%{getText('generic.no')}" action="entryRemove!cancel" />
+        <s:submit value="%{getText('generic.no')}" action="entryRemoveViaList!cancel" />
     </s:form>
 </td>
 </tr>