You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2011/04/16 08:37:17 UTC

svn commit: r1093937 - in /portals/jetspeed-2/applications/j2-admin/trunk/src/main: java/org/apache/jetspeed/portlets/toolbox/ resources/org/apache/jetspeed/portlets/toolbox/resources/ webapp/WEB-INF/view/toolbox/

Author: woonsan
Date: Sat Apr 16 06:37:16 2011
New Revision: 1093937

URL: http://svn.apache.org/viewvc?rev=1093937&view=rev
Log:
JS2-1247: cloning popup in toolbox portlet. allowed to users which has admin role.

Modified:
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources.properties
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_en.properties
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_ko.properties
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=1093937&r1=1093936&r2=1093937&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java Sat Apr 16 06:37:16 2011
@@ -36,6 +36,7 @@ import javax.portlet.RenderResponse;
 import org.apache.commons.lang.StringUtils;
 import org.apache.jetspeed.CommonPortletServices;
 import org.apache.jetspeed.JetspeedActions;
+import org.apache.jetspeed.administration.PortalAdministration;
 import org.apache.jetspeed.decoration.DecorationFactory;
 import org.apache.jetspeed.layout.PageLayoutComponent;
 import org.apache.jetspeed.om.page.ContentFragment;
@@ -57,6 +58,7 @@ public class JetspeedToolbox extends Gen
 {
     static Logger log = LoggerFactory.getLogger(JetspeedToolbox.class);
     
+    protected PortalAdministration portalAdministration;
     protected PageLayoutComponent pageLayoutComponent;
     protected DecorationFactory decorationFactory;
     protected String yuiScriptPath = "/javascript/yui/build/yui/yui-min.js";
@@ -67,6 +69,8 @@ public class JetspeedToolbox extends Gen
         
         PortletContext context = getPortletContext();
         
+        portalAdministration = (PortalAdministration) getPortletContext().getAttribute(CommonPortletServices.CPS_PORTAL_ADMINISTRATION);
+        
         pageLayoutComponent = (PageLayoutComponent) context.getAttribute(CommonPortletServices.CPS_PAGE_LAYOUT_COMPONENT);
         
         if (pageLayoutComponent == null)
@@ -116,6 +120,9 @@ public class JetspeedToolbox extends Gen
         PortletPreferences prefs = request.getPreferences();
         request.setAttribute("prefs", prefs.getMap());
         
+        boolean userInAdminRole = portalAdministration.isUserInAdminRole(request);
+        request.setAttribute("userInAdminRole", userInAdminRole ? Boolean.TRUE : Boolean.FALSE);
+        
         boolean hasEditAccess = false;
         
         try

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources.properties?rev=1093937&r1=1093936&r2=1093937&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources.properties (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources.properties Sat Apr 16 06:37:16 2011
@@ -29,6 +29,8 @@ toolbox.label.moveLast = >>
 toolbox.label.preview = Preview
 toolbox.label.add = Add
 toolbox.label.close = Close
+toolbox.label.clone = Clone
+toolbox.label.clonePortlet = Clone Portlet
 
 toolbox.message.chooseOne = Choose one
 toolbox.message.search = Search portlets

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_en.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_en.properties?rev=1093937&r1=1093936&r2=1093937&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_en.properties (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_en.properties Sat Apr 16 06:37:16 2011
@@ -29,6 +29,8 @@ toolbox.label.moveLast = >>
 toolbox.label.preview = Preview
 toolbox.label.add = Add
 toolbox.label.close = Close
+toolbox.label.clone = Clone
+toolbox.label.clonePortlet = Clone Portlet
 
 toolbox.message.chooseOne = Choose one
 toolbox.message.search = Search portlets

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_ko.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_ko.properties?rev=1093937&r1=1093936&r2=1093937&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_ko.properties (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/toolbox/resources/JetspeedToolboxResources_ko.properties Sat Apr 16 06:37:16 2011
@@ -29,6 +29,8 @@ toolbox.label.moveLast = >>
 toolbox.label.preview = \ubbf8\ub9ac\ubcf4\uae30
 toolbox.label.add = \ucd94\uac00
 toolbox.label.close = \ub2eb\uae30
+toolbox.label.clone = \ubcf5\uc81c
+toolbox.label.clonePortlet = \ud3ec\ud2c0\ub9bf \ubcf5\uc81c
 
 toolbox.message.chooseOne = \uc120\ud0dd
 toolbox.message.search = \ud3ec\ud2c0\ub9bf \uac80\uc0c9

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=1093937&r1=1093936&r2=1093937&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Sat Apr 16 06:37:16 2011
@@ -114,6 +114,7 @@ limitations under the License.
 	       <td class="portlet-section-body">
 	           <a href="#" name="preview" class='tooltext'><fmt:message key="toolbox.label.preview"/></a>  
 	           <a href="#" name="add" class='tooltext'><fmt:message key="toolbox.label.add"/></a>
+	           <a href="#" name="clone" class='tooltext'><fmt:message key="toolbox.label.clone"/></a>
 	       </td>
 	    </tr>
     </table>
@@ -183,6 +184,27 @@ limitations under the License.
     <div class="yui-widget-ft" align="center"><a id="<portlet:namespace/>previewOverlayClose" href="#"><fmt:message key="toolbox.label.close"/></a></div>
 </div>
 
+<div style="display: none">
+  <div id="<portlet:namespace/>portletCloneModalHeader">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr>
+        <td><h2 id="<portlet:namespace/>portletCloneModalHeader"><fmt:message key='toolbox.label.clonePortlet'/></h2></td>
+        <td align="right"><a id="<portlet:namespace/>portletCloneModalHeaderClose" href="#"><img border="0" src='<c:url context="${portalContextPathInUrlTag}" value="/decorations/images/close.gif"/>'/></a></td>
+      </tr>
+    </table>
+  </div>
+  <div id="<portlet:namespace/>portletCloneModalBody">
+    <div>
+      <iframe id="<portlet:namespace/>portletCloneModalBodyIFrame" align="BOTTOM" width="100%" scrolling="AUTO" height="480" frameborder="0" marginwidth="0" marginheight="0">
+      </iframe>
+    </div>
+  </div> 
+  <div id="<portlet:namespace/>portletCloneModalFooter" align="center">
+  </div>
+</div>
+
+<div class="modal-window-close-script" style="DISPLAY: none">var portal = (parent.JETUI_YUI ? parent.JETUI_YUI.getPortalInstance() : null); if (portal) { portal.hideModalPanel(); }</div>
+
 <script language="javascript">
 YUI().use('jetui-portal', 'io', 'json', 'node', 'cookie', 'overlay', 'anim', 'plugin', function(Y) {
     
@@ -440,6 +462,18 @@ YUI().use('jetui-portal', 'io', 'json', 
 	                clone.all("a").item(1).remove();
 	            </c:otherwise>
 	        </c:choose>
+
+            <c:choose>
+                <c:when test="${userInAdminRole}">
+                    var cloneLink = clone.one("[name='clone']");
+                    var cloneLinkNode = Y.Node.getDOMNode(cloneLink);
+                    cloneLinkNode.setAttribute("portletUniqueName", def.uniqueName);
+                    cloneLink.on("click", clonePortlet);
+                </c:when>
+                <c:otherwise>
+                    clone.all("a").item(1).remove();
+                </c:otherwise>
+            </c:choose>
             
             var previewLink = clone.one("[name='preview']");
             var previewLinkNode = Y.Node.getDOMNode(previewLink);
@@ -643,6 +677,30 @@ YUI().use('jetui-portal', 'io', 'json', 
         previewOverlay.hide();
         e.halt();
     };
+
+    var clonePortlet = function(e) {
+        var a = Y.Node.getDOMNode(e.target);
+        var portletUniqueName = a.getAttribute("portletUniqueName");
+
+        var modalFeatures = {
+            "width": 600,
+            "height": 540
+        };
+        var portal = (JETUI_YUI ? JETUI_YUI.getPortalInstance() : null);
+        if (portal) {
+            var iframe = Y.Node.one("#<portlet:namespace/>portletCloneModalBodyIFrame");
+            iframe.set("src", "${requestContext.portalURL.basePath}/system/prm/cloneportlet.psml?portlet=" + portletUniqueName);
+            portal.showModalPanel("#<portlet:namespace/>portletCloneModalHeader", "#<portlet:namespace/>portletCloneModalBody", "#<portlet:namespace/>portletCloneModalFooter", modalFeatures);
+        }
+        e.halt();
+    };
+
+    var hidePortalModalPanel = function() {
+    	var portal = (JETUI_YUI ? JETUI_YUI.getPortalInstance() : null); 
+    	if (portal) { 
+        	portal.hideModalPanel(); 
+        }
+    };
     
     Y.on("click", switchTab, "#<portlet:namespace/>portletsTabAction");
     Y.on("click", switchTab, "#<portlet:namespace/>layoutTabAction");
@@ -665,5 +723,6 @@ YUI().use('jetui-portal', 'io', 'json', 
     switchTab(tabId);
 
     Y.Node.one("#<portlet:namespace/>previewOverlayClose").on("click", closePreviewOverlay);
+    Y.Node.one("#<portlet:namespace/>portletCloneModalHeaderClose").on("click", hidePortalModalPanel);
 });
 </script>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org