You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by sc...@apache.org on 2012/08/01 11:59:07 UTC
svn commit: r1367902 - in /rave/trunk:
rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/
rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/
rave-components/rave-web/src/main/java/org/apache/rave/portal/...
Author: scottbw
Date: Wed Aug 1 09:59:06 2012
New Revision: 1367902
URL: http://svn.apache.org/viewvc?rev=1367902&view=rev
Log:
Implemented a portal preference to set the initial status of all newly-added widgets to "PREVIEW" (default) or "PUBLISHED". See RAVE-742.
Modified:
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java
rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java
rave/trunk/rave-portal-resources/src/main/resources/messages.properties
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp
Modified: rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java?rev=1367902&r1=1367901&r2=1367902&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java (original)
+++ rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/web/util/PortalPreferenceKeys.java Wed Aug 1 09:59:06 2012
@@ -27,4 +27,5 @@ public final class PortalPreferenceKeys
public static final String TITLE_SUFFIX = "titleSuffix";
public static final String PAGE_SIZE = "pageSize";
public static final String JAVASCRIPT_DEBUG_MODE = "javaScriptDebugMode";
+ public static final String INITIAL_WIDGET_STATUS = "initialWidgetStatus";
}
Modified: rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java?rev=1367902&r1=1367901&r2=1367902&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java (original)
+++ rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java Wed Aug 1 09:59:06 2012
@@ -228,7 +228,18 @@ public class WidgetStoreController {
ControllerUtils.addNavItemsToModel(view, model, referringPageId, user);
return view;
}
- widget.setWidgetStatus(WidgetStatus.PREVIEW);
+
+ /*
+ * By default, a new widget has a status of "PREVIEW", however this can be overridden in portal preferences,
+ * skipping the need for an admin to approve a new widget.
+ */
+ PortalPreference status = preferenceService.getPreference(PortalPreferenceKeys.INITIAL_WIDGET_STATUS);
+ if (status != null && status.getValue().equals("PUBLISHED")){
+ widget.setWidgetStatus(WidgetStatus.PUBLISHED);
+ } else {
+ widget.setWidgetStatus(WidgetStatus.PREVIEW);
+ }
+
widget.setOwner(user);
final Widget storedWidget = widgetService.registerNewWidget(widget);
Modified: rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java?rev=1367902&r1=1367901&r2=1367902&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java (original)
+++ rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/model/PortalPreferenceForm.java Wed Aug 1 09:59:06 2012
@@ -34,6 +34,7 @@ public class PortalPreferenceForm {
public static final String DEFAULT_PAGE_SIZE = "10";
public static final String DEFAULT_TITLE_SUFFIX = "";
public static final String DEFAULT_JAVASCRIPT_DEBUG_MODE = "1";
+ public static final String DEFAULT_INITIAL_WIDGET_STATUS = "PREVIEW";
private Map<String, PortalPreference> preferenceMap;
@@ -54,6 +55,13 @@ public class PortalPreferenceForm {
if (getJavaScriptDebugMode() == null) {
preferenceMap.put(JAVASCRIPT_DEBUG_MODE, new PortalPreferenceImpl(JAVASCRIPT_DEBUG_MODE, DEFAULT_JAVASCRIPT_DEBUG_MODE));
}
+ if (getInitialWidgetStatus() == null){
+ preferenceMap.put(DEFAULT_INITIAL_WIDGET_STATUS, new PortalPreferenceImpl(INITIAL_WIDGET_STATUS, DEFAULT_INITIAL_WIDGET_STATUS));
+ }
+ }
+
+ public PortalPreference getInitialWidgetStatus(){
+ return preferenceMap.get(INITIAL_WIDGET_STATUS);
}
public PortalPreference getPageSize() {
@@ -87,4 +95,8 @@ public class PortalPreferenceForm {
public void setPreferenceMap(Map<String, PortalPreference> preferenceMap) {
this.preferenceMap = preferenceMap;
}
+
+ public void setInitialWidgetStatus(PortalPreference initialWidgetStatus){
+ preferenceMap.put(INITIAL_WIDGET_STATUS, initialWidgetStatus);
+ }
}
Modified: rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java?rev=1367902&r1=1367901&r2=1367902&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java (original)
+++ rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/WidgetStoreControllerTest.java Wed Aug 1 09:59:06 2012
@@ -83,6 +83,7 @@ public class WidgetStoreControllerTest {
replay(userService);
PortalPreferenceService preferenceService = createMock(PortalPreferenceService.class);
+ expect(preferenceService.getPreference(PortalPreferenceKeys.INITIAL_WIDGET_STATUS)).andReturn(null);
expect(preferenceService.getPreference(PortalPreferenceKeys.PAGE_SIZE)).andReturn(null);
replay(preferenceService);
Modified: rave/trunk/rave-portal-resources/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/resources/messages.properties?rev=1367902&r1=1367901&r2=1367902&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/resources/messages.properties (original)
+++ rave/trunk/rave-portal-resources/src/main/resources/messages.properties Wed Aug 1 09:59:06 2012
@@ -268,6 +268,9 @@ admin.preferences.title=Rave admin inter
admin.preferences.shorttitle=Preferences
admin.preferences.edit=Edit preferences
admin.preferencedetail.title=Rave admin interface - Preferences
+admin.preferencedetail.initialWidgetStatus=Initial status to use for new widgets
+admin.preferencedetail.initialWidgetStatus.preview=PREVIEW
+admin.preferencedetail.initialWidgetStatus.published=PUBLISHED
admin.preferencedetail.titleSuffix=Page title suffix
admin.preferencedetail.pageSize=Number of items per page (list)
admin.preferencedetail.pageSize.malformed=Enter a whole number greater than 0
Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp?rev=1367902&r1=1367901&r2=1367902&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/admin/preferencedetail.jsp Wed Aug 1 09:59:06 2012
@@ -77,6 +77,20 @@
<form:errors path="javaScriptDebugMode.value" cssClass="error"/>
</spring:bind>
</div>
+ <div class="control-group">
+ <spring:bind path="initialWidgetStatus.value">
+ <form:label path="initialWidgetStatus.value" class="control-label">
+ <fmt:message key="admin.preferencedetail.initialWidgetStatus"/> *
+ </form:label>
+ <div class="controls">
+ <form:select id="initialWidgetStatus" path="initialWidgetStatus.value">
+ <form:option value="PREVIEW"><fmt:message key="admin.preferencedetail.initialWidgetStatus.preview"/></form:option>
+ <form:option value="PUBLISHED"><fmt:message key="admin.preferencedetail.initialWidgetStatus.published"/></form:option>
+ </form:select>
+ </div>
+ <form:errors path="javaScriptDebugMode.value" cssClass="error"/>
+ </spring:bind>
+ </div>
<fieldset>
<fmt:message key="admin.preferencedetail.updateButton" var="updateButtonText"/>
<button class="btn btn-primary" type="submit" value="${updateButtonText}">${updateButtonText}</button>