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-unsubscr...@portals.apache.org
For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org

Reply via email to