svn commit: r1226837 - /ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1226837 - /ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy

adrianc
Author: adrianc
Date: Tue Jan  3 15:50:27 2012
New Revision: 1226837

URL: http://svn.apache.org/viewvc?rev=1226837&view=rev
Log:
CreateUrlParam.groovy improvement. The original version had hard-coded parameters for calendar navigation - making it difficult to reuse the calendar screen in other applications. My previous commit removed that restriction, but it introduced bugs in the calendar event edit form. This commit permits applications to specify URL parameters for calendar navigation while preserving backward-compatible behavior.


Modified:
    ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy

Modified: ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy?rev=1226837&r1=1226836&r2=1226837&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy (original)
+++ ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/actions/calendar/CreateUrlParam.groovy Tue Jan  3 15:50:27 2012
@@ -20,12 +20,16 @@
 import java.util.*;
 import org.ofbiz.base.util.*;
 
-Map urlParametersMap = UtilHttp.getQueryStringOnlyParameterMap(request);
-urlParametersMap.remove("period");
-urlParametersMap.remove("start");
-urlParametersMap.remove("form");
+// Allow containing screens to specify URL parameters to be included in calendar navigation links
+List urlParameterNames = context.urlParameterNames;
+if (urlParameterNames == null) {
+    urlParameterNames = UtilMisc.toList("fixedAssetId", "partyId", "workEffortTypeId", "calendarType", "hideEvents", "portalPageId");
+}
 StringBuilder sb = new StringBuilder();
-for (entry in urlParametersMap.entrySet()) {
-    sb.append("&").append(entry.getKey()).append("=").append(entry.getValue());
+for (entry in parameters.entrySet()) {
+    if (urlParameterNames.contains(entry.getKey())) {
+        Debug.logInfo("Adding parameter " + entry.getKey(), "CreateUrlParam");
+        sb.append("&").append(entry.getKey()).append("=").append(entry.getValue());
+    }
 }
 context.put("urlParam", sb.toString());