Author: jleroux
Date: Thu Dec 25 00:30:30 2008
New Revision: 729402
URL: http://svn.apache.org/viewvc?rev=729402&view=rev
Log:
Fix an issue introduced in r725053. This commit managed "multi-pagination in a page" see
https://issues.apache.org/jira/browse/OFBIZ-1935
This is a quick fix. I wonder if we should keep the screenlet navigation-form-name attribute (at least as is). This for 2
reasons:
. Less informations/features than with default (pages numbers, ability to jump
to any page)
. The last button does not always work (try with widget.form.defaultViewSize=2
when listing invoices)
On the other hand it's cool to have all informations in the screenlet. But then we should extend it to work for the 2 points
above
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java?rev=729402&r1=729401&r2=729402&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java Thu Dec
25 00:30:30 2008
@@ -23,6 +23,7 @@
import org.w3c.dom.Element;
import org.ofbiz.base.util.UtilGenerics;
import org.ofbiz.base.util.UtilProperties;
+import org.ofbiz.base.util.UtilValidate;
/**
* Widget Library - Widget model class. ModelWidget is a base class that is
@@ -130,8 +131,13 @@
public void incrementPaginatorNumber(Map<String, Object> context) {
Map<String, Object> globalCtx =
UtilGenerics.checkMap(context.get("globalContext"));
if (globalCtx != null) {
- Integer paginateNumberInt =
Integer.valueOf(getPaginatorNumber(context) + 1);
- globalCtx.put("PAGINATOR_NUMBER", paginateNumberInt);
+ Boolean NO_PAGINATOR = (Boolean) globalCtx.get("NO_PAGINATOR");
+ if (UtilValidate.isNotEmpty(NO_PAGINATOR)) {
+ globalCtx.remove("NO_PAGINATOR");
+ } else {
+ Integer paginateNumberInt =
Integer.valueOf(getPaginatorNumber(context) + 1);
+ globalCtx.put("PAGINATOR_NUMBER", paginateNumberInt);
+ }
}
}
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java?rev=729402&r1=729401&r2=729402&view=diff
==============================================================================
---
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
(original)
+++
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
Thu Dec 25 00:30:30 2008
@@ -246,7 +246,7 @@
}
// get the parametrized pagination index and size fields
- int paginatoNumber = modelForm.getPaginatorNumber(context);
+ int paginatorNumber = modelForm.getPaginatorNumber(context);
String viewIndexParam = modelForm.getPaginateIndexField(context);
String viewSizeParam = modelForm.getPaginateSizeField(context);
@@ -272,8 +272,8 @@
}
// for legacy support, the viewSizeParam is VIEW_SIZE and viewIndexParam is VIEW_INDEX when the fields are "viewSize" and
"viewIndex"
- if (viewIndexParam.equals("viewIndex" + "_" + paginatoNumber)) viewIndexParam =
"VIEW_INDEX" + "_" + paginatoNumber;
- if (viewSizeParam.equals("viewSize" + "_" + paginatoNumber)) viewSizeParam =
"VIEW_SIZE" + "_" + paginatoNumber;
+ if (viewIndexParam.equals("viewIndex" + "_" + paginatorNumber)) viewIndexParam =
"VIEW_INDEX" + "_" + paginatorNumber;
+ if (viewSizeParam.equals("viewSize" + "_" + paginatorNumber)) viewSizeParam =
"VIEW_SIZE" + "_" + paginatorNumber;
ServletContext ctx = (ServletContext)
request.getAttribute("servletContext");
RequestHandler rh = (RequestHandler)
ctx.getAttribute("_REQUEST_HANDLER_");
@@ -285,7 +285,7 @@
}
String queryString = UtilHttp.urlEncodeArgs(inputFields);
// strip legacy viewIndex/viewSize params from the query string
- queryString = UtilHttp.stripViewParamsFromQueryString(queryString, ""
+ paginatoNumber);
+ queryString = UtilHttp.stripViewParamsFromQueryString(queryString, ""
+ paginatorNumber);
// strip parametrized index/size params from the query string
HashSet<String> paramNames = new HashSet<String>();
paramNames.add(viewIndexParam);
@@ -382,6 +382,8 @@
HttpServletRequest request = (HttpServletRequest)
context.get("request");
HttpServletResponse response = (HttpServletResponse)
context.get("response");
if (request != null && response != null) {
+ Map<String, Object> globalCtx =
UtilGenerics.checkMap(context.get("globalContext"));
+ globalCtx.put("NO_PAGINATOR", true);
FormStringRenderer savedRenderer = (FormStringRenderer)
context.get("formStringRenderer");
HtmlFormRenderer renderer = new HtmlFormRenderer(request,
response);
renderer.setRenderPagination(false);