[ 
https://issues.apache.org/jira/browse/OFBIZ-1118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacopo Cappellato reassigned OFBIZ-1118:
----------------------------------------

    Assignee: Jacopo Cappellato

> Pagination enhancement (paginate-target issue)
> ----------------------------------------------
>
>                 Key: OFBIZ-1118
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-1118
>             Project: OFBiz
>          Issue Type: Improvement
>    Affects Versions: SVN trunk
>            Reporter: Wickersheimer Jeremy
>            Assignee: Jacopo Cappellato
>            Priority: Minor
>             Fix For: SVN trunk
>
>
> Currently Form pagination is using either the "target" attribute or the 
> "paginate-target" attribute from the Form definition.
> After having hacked a few Forms and since i implemented another feature using 
> this value  ( column sorting ) i found out that 
> - "target" value is seldom correct for pagination, it is very often used for 
> update / delete links from the list
> - "paginate-target" is not really useful value because:
> --- if the form is used on multiple screen (therefore multiple URLs) it 
> cannot be used and pagination should be disabled.
> --- if the form is used on one page only we have to repeat the target URL in 
> the form which is taken from the Screen -> controller. Basically we are 
> backtracking from the Form to the controller and coupling them.
> I don't have any example in mind were paginate-target would be different from 
> the request URL and i often fixed missing paginate-target by copy pasting the 
> part from the URL.
> So rather than running after the legion of forms that has a target but no 
> paginate-target, those that have no paginate-target at all and those where 
> pagination would be buggy because more than one form is on the same screen we 
> can simply change the logic a bit.
> - we use "paginate-target" if explicitly set in the form
> - else we do not fall back to "target" bu to the request URL (from context 
> parameters targetRequestUri)
> This is very simply done by patching the getPaginateTarget for the ModelForm. 
> I won't attach a patch for now, just the code (simple anyway):
> public String getPaginateTarget(Map context) {
>         String targ = this.paginateTarget.expandString(context);
>         if (UtilValidate.isEmpty(targ)) {
>             Map parameters = (Map) context.get("parameters");
>             if(parameters != null && 
> parameters.containsKey("targetRequestUri")) {
>                 targ = (String) parameters.get("targetRequestUri");
>             }
>         }
>         return targ;
>     }
> Is there anyone that thinks it is a bad idea .. or the reason why it wasn't 
> done like this before ?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to