[gatein-commits] gatein SVN: r4650 - in portal/branches/branch-GTNPORTAL-1537: webui/portal/src/main/java/org/exoplatform/portal/webui/application and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Oct 13 07:49:16 EDT 2010


Author: kien_nguyen
Date: 2010-10-13 07:49:16 -0400 (Wed, 13 Oct 2010)
New Revision: 4650

Modified:
   portal/branches/branch-GTNPORTAL-1537/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl
   portal/branches/branch-GTNPORTAL-1537/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIGadget.java
Log:
GTNPORTAL-1523  Shouldnot display edit icon with gadgets which havennot gadget preferences

Modified: portal/branches/branch-GTNPORTAL-1537/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl
===================================================================
--- portal/branches/branch-GTNPORTAL-1537/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl	2010-10-13 08:46:49 UTC (rev 4649)
+++ portal/branches/branch-GTNPORTAL-1537/web/portal/src/main/webapp/groovy/portal/webui/application/UIGadget.gtmpl	2010-10-13 11:49:16 UTC (rev 4650)
@@ -39,8 +39,10 @@
 					<div class="<%=isMini ? "RestoreGadget": "MinimizeGadget";%> MinimizeAction IconControl" 
 									onclick="eXo.gadget.UIGadget.minimizeGadget(this)" onmousedown="event.cancelBubble=true;" style="display:none;" 
 									title="<%=isMini ? unminiTitle : miniTitle%>" miniTitle="$miniTitle" unminiTitle="$unminiTitle"><span></span></div>
-					<div class="EditGadget IconControl" onclick="eXo.gadget.UIGadget.editGadget('$id')" onmousedown="event.cancelBubble=true;" title="<%=_ctx.appRes("UIGadget.tooltip.editGadget")%>"><span></span></div>
-					<div class="GadgetDragHandleArea"><span></span></div>
+					<% if(uicomponent.isSettingUserPref()) { %>
+                       <div class="EditGadget IconControl" onclick="eXo.gadget.UIGadget.editGadget('$id')" onmousedown="event.cancelBubble=true;" title="<%=_ctx.appRes("UIGadget.tooltip.editGadget")%>"><span></span></div>
+					<% } %>
+                    <div class="GadgetDragHandleArea"><span></span></div>
 					<div class="GadgetTitle" style="display: none; float: none; width: auto; margin-right: 75px"><%= uicomponent.getApplicationName() %></div>
 				</div>
 			</div>

Modified: portal/branches/branch-GTNPORTAL-1537/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIGadget.java
===================================================================
--- portal/branches/branch-GTNPORTAL-1537/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIGadget.java	2010-10-13 08:46:49 UTC (rev 4649)
+++ portal/branches/branch-GTNPORTAL-1537/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIGadget.java	2010-10-13 11:49:16 UTC (rev 4650)
@@ -38,6 +38,7 @@
 import org.exoplatform.webui.event.Event;
 import org.exoplatform.webui.event.EventListener;
 import org.exoplatform.webui.exception.MessageException;
+import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
@@ -88,6 +89,16 @@
    public static final String HOME_VIEW = "home";
 
    public static final String CANVAS_VIEW = "canvas"; 
+   
+   public static final String METADATA_GADGETS = "gadgets";
+   
+   public static final String METADATA_USERPREFS = "userPrefs";
+   
+   public static final String METADATA_USERPREFS_TYPE = "type";
+   
+   public static final String METADATA_USERPREFS_TYPE_HIDDEN = "hidden";
+   
+   public static final String METADATA_USERPREFS_TYPE_LIST = "list";
 
    public String view = HOME_VIEW;
 
@@ -205,7 +216,7 @@
             String strMetadata = GadgetUtil.fetchGagdetMetadata(getUrl());
             metadata_ = new JSONObject(strMetadata);
          }
-         JSONObject obj = metadata_.getJSONArray("gadgets").getJSONObject(0);
+         JSONObject obj = metadata_.getJSONArray(METADATA_GADGETS).getJSONObject(0);
          String token = GadgetUtil.createToken(this.getUrl(), new Random().nextLong());
          obj.put("secureToken", token);
          return metadata_.toString();
@@ -215,6 +226,39 @@
          return null;
       }
    }
+   /**
+    * Check if content of gadget has <UserPref>? (Content is parsed from gadget specification in .xml file)
+    * @return boolean
+    */
+   public boolean isSettingUserPref()
+   {
+      try
+      {
+         if(metadata_ != null)
+         {
+            JSONObject obj = metadata_.getJSONArray(METADATA_GADGETS).getJSONObject(0);
+            JSONObject userPrefs = obj.getJSONObject(METADATA_USERPREFS);
+            JSONArray names = userPrefs.names();
+            int count = names.length();
+            if(count > 0)
+            {
+               for(int i = 0; i < count; i++)
+               {
+                  JSONObject o = (JSONObject) userPrefs.get(names.get(i).toString());
+                  if(!(o.get(METADATA_USERPREFS_TYPE).equals(METADATA_USERPREFS_TYPE_HIDDEN) || 
+                        o.get(METADATA_USERPREFS_TYPE).equals(METADATA_USERPREFS_TYPE_LIST)))
+                     return true;
+               }
+               return false;
+            }
+         }
+         return false;
+      }
+      catch (JSONException e)
+      {
+         return false;
+      }
+   }
 
    @Override
    public boolean isRendered()



More information about the gatein-commits mailing list