Author: solomax
Date: Wed Feb  4 04:41:37 2015
New Revision: 1656987

URL: http://svn.apache.org/r1656987
Log:
Disabled widgets are removed from available widget list

Modified:
    
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java

Modified: 
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1656987&r1=1656986&r2=1656987&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/install/java/org/apache/openmeetings/installation/ImportInitvalues.java
 Wed Feb  4 04:41:37 2015
@@ -446,9 +446,6 @@ public class ImportInitvalues {
                configurationDao.add(CONFIG_SCREENSHARING_FPS_SHOW, "true", 
null, "Is screensharing FPS should be displayed or not (true/false)");
                configurationDao.add(CONFIG_SCREENSHARING_ALLOW_REMOTE, "true", 
null, "Is remote control will be enabled while screensharing. Allowing remote 
control will be not possible in case it is set to 'false' (true/false)");
 
-               configurationDao.add("default.dashboard.tab", "0", null,
-                               "Default selection in Dashboard tabs as 
tab-index-id");
-
                configurationDao.add(CONFIG_DASHBOARD_SHOW_MYROOMS_KEY, "1", 
null, "Show My Rooms Tab");
 
                configurationDao.add("dashboard.show.chat", "1", null, "Show 
Chat Tab");

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java?rev=1656987&r1=1656986&r2=1656987&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
 Wed Feb  4 04:41:37 2015
@@ -18,9 +18,18 @@
  */
 package org.apache.openmeetings.web.user.profile;
 
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS_KEY;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_RSS_KEY;
+import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.Application.getDashboardContext;
 import static org.apache.openmeetings.web.app.WebSession.getDashboard;
 
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.web.user.dashboard.MyRoomsWidget;
+import org.apache.openmeetings.web.user.dashboard.RssWidget;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
 import org.apache.wicket.markup.html.basic.Label;
@@ -48,9 +57,23 @@ public class WidgetsPanel extends Panel
        public WidgetsPanel(String id) {
                super(id);
                
-               add(new ListView<WidgetDescriptor>("widgets"
-                               , 
getDashboardContext().getWidgetRegistry().getWidgetDescriptors()) {
-                                       private static final long 
serialVersionUID = 1L;
+               ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
+               boolean confShowMyRooms = 1 == 
cfgDao.getConfValue(CONFIG_DASHBOARD_SHOW_MYROOMS_KEY, Integer.class, "0");
+               boolean confShowRss = 1 == 
cfgDao.getConfValue(CONFIG_DASHBOARD_SHOW_RSS_KEY, Integer.class, "0");
+               List<WidgetDescriptor> widgets = 
getDashboardContext().getWidgetRegistry().getWidgetDescriptors();
+               for (Iterator<WidgetDescriptor> i = widgets.iterator(); 
i.hasNext();) {
+                       WidgetDescriptor wd = i.next();
+                       if (!confShowMyRooms && 
MyRoomsWidget.class.getCanonicalName().equals(wd.getWidgetClassName())) {
+                               i.remove();
+                               continue;
+                       }
+                       if (!confShowRss && 
RssWidget.class.getCanonicalName().equals(wd.getWidgetClassName())) {
+                               i.remove();
+                               continue;
+                       }
+               }
+               add(new ListView<WidgetDescriptor>("widgets", widgets) {
+                       private static final long serialVersionUID = 1L;
 
                        @Override
                        protected void populateItem(ListItem<WidgetDescriptor> 
item) {

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java?rev=1656987&r1=1656986&r2=1656987&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
 Wed Feb  4 04:41:37 2015
@@ -18,9 +18,18 @@
  */
 package org.apache.openmeetings.web.user.profile;
 
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS_KEY;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_RSS_KEY;
+import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.Application.getDashboardContext;
 import static org.apache.openmeetings.web.app.WebSession.getDashboard;
 
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.web.user.dashboard.MyRoomsWidget;
+import org.apache.openmeetings.web.user.dashboard.RssWidget;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
 import org.apache.wicket.markup.html.basic.Label;
@@ -48,9 +57,23 @@ public class WidgetsPanel extends Panel
        public WidgetsPanel(String id) {
                super(id);
                
-               add(new ListView<WidgetDescriptor>("widgets"
-                               , 
getDashboardContext().getWidgetRegistry().getWidgetDescriptors()) {
-                                       private static final long 
serialVersionUID = 1L;
+               ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
+               boolean confShowMyRooms = 1 == 
cfgDao.getConfValue(CONFIG_DASHBOARD_SHOW_MYROOMS_KEY, Integer.class, "0");
+               boolean confShowRss = 1 == 
cfgDao.getConfValue(CONFIG_DASHBOARD_SHOW_RSS_KEY, Integer.class, "0");
+               List<WidgetDescriptor> widgets = 
getDashboardContext().getWidgetRegistry().getWidgetDescriptors();
+               for (Iterator<WidgetDescriptor> i = widgets.iterator(); 
i.hasNext();) {
+                       WidgetDescriptor wd = i.next();
+                       if (!confShowMyRooms && 
MyRoomsWidget.class.getCanonicalName().equals(wd.getWidgetClassName())) {
+                               i.remove();
+                               continue;
+                       }
+                       if (!confShowRss && 
RssWidget.class.getCanonicalName().equals(wd.getWidgetClassName())) {
+                               i.remove();
+                               continue;
+                       }
+               }
+               add(new ListView<WidgetDescriptor>("widgets", widgets) {
+                       private static final long serialVersionUID = 1L;
 
                        @Override
                        protected void populateItem(ListItem<WidgetDescriptor> 
item) {


Reply via email to