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) {