I didn't ask him to fix them, they were mostly just informational comments for both yourself and Florian.
Regards Scott On 26 July 2016 at 17:46, Jacques Le Roux <[email protected]> wrote: > Le 26/07/2016 à 07:43, Jacques Le Roux a écrit : > >> Thanks for the review Scott, I'll ask Florian to fix these minor details >> > Oh, cool you did already :) > > >> Jacques >> >> >> Le 26/07/2016 à 03:26, Scott Gray a écrit : >> >>> A couple of minor points: >>> 1. It isn't necessary to use UtilValidate.isEmpty() in groovy for String >>> values, you can simply use: if (parameters.custRequestTypeId). Google >>> "Groovy Truth" for more info >>> 2. I notice there are actually 4 instances of <option >>> key="${uiLabelMap.CommonAny}" description=" "/> in the file, but only two >>> have been fixed. >>> >>> Regards >>> Scott >>> >>> On 26 July 2016 at 09:38, <[email protected]> wrote: >>> >>> Author: jleroux >>>> Date: Mon Jul 25 21:38:11 2016 >>>> New Revision: 1754051 >>>> >>>> URL: http://svn.apache.org/viewvc?rev=1754051&view=rev >>>> Log: >>>> A patch from Florian Montalbano for "Scrum find Total Backlog Item is >>>> not >>>> working in non-English language" >>>> https://issues.apache.org/jira/browse/OFBIZ-7929 >>>> >>>> The Find form for Product Backlog Item does not work in language other >>>> than English when no "statusId" or "custRequestTypeId" are selected. >>>> >>>> Step to reproduce : >>>> - Go to the Scrum component and select a product >>>> - Go to the "Total Backlog" tab >>>> or use this link : >>>> >>>> https://localhost:8443/scrum/control/ViewTotalBacklog?productId=DEMO-PRODUCT-1 >>>> >>>> - Hit the search button, the find action is performed and return a >>>> non-empty list. >>>> - Set your language preference to a non english language (french for >>>> example). >>>> - Click again on the "Total Backlog" tab, and hit the "Rechercher" >>>> button. >>>> - No results are found. >>>> >>>> Where does the problem come from ? >>>> The results displayed are from a list named "backlogList" which is built >>>> in the following script : FindProductBacklogItem.groovy . >>>> In this script, there were a check on the parameter "custRequestTypeId" >>>> and on the parameter "statusId". >>>> But the value was hardcoded : >>>> >>>> if("Any".equals(parameters.custRequestTypeId)) >>>> and >>>> if(!"Any".equals(parameters.statusId)) >>>> >>>> Obviously, when the form is in another language than English, those >>>> conditions aren't valid anymore (for example, "Any" is "Don't" in >>>> French") >>>> >>>> Modified: >>>> >>>> >>>> ofbiz/trunk/specialpurpose/scrum/groovyScripts/FindProductBacklogItem.groovy >>>> ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml >>>> >>>> Modified: >>>> >>>> ofbiz/trunk/specialpurpose/scrum/groovyScripts/FindProductBacklogItem.groovy >>>> URL: >>>> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/groovyScripts/FindProductBacklogItem.groovy?rev=1754051&r1=1754050&r2=1754051&view=diff >>>> >>>> >>>> ============================================================================== >>>> --- >>>> >>>> ofbiz/trunk/specialpurpose/scrum/groovyScripts/FindProductBacklogItem.groovy >>>> (original) >>>> +++ >>>> >>>> ofbiz/trunk/specialpurpose/scrum/groovyScripts/FindProductBacklogItem.groovy >>>> Mon Jul 25 21:38:11 2016 >>>> @@ -32,7 +32,6 @@ conditionBacklogList = []; >>>> orConditionBacklogList = []; >>>> mainConditionBacklogList = []; >>>> orConditionsBacklog = null; >>>> -parameters.custRequestTypeId = parameters.custRequestTypeId ?: "Any"; >>>> description = parameters.description; >>>> custRequestId = parameters.custRequestId; >>>> orderBy = "custRequestDate"; >>>> @@ -42,7 +41,7 @@ if ((parameters.billed != null)||(parame >>>> if(UtilValidate.isNotEmpty(parameters.productId)){ >>>> >>>> conditionBacklogList.add(EntityCondition.makeCondition("productId", >>>> EntityOperator.EQUALS, parameters.productId)); >>>> } >>>> - if("Any".equals(parameters.custRequestTypeId)){ >>>> + if(UtilValidate.isEmpty(parameters.custRequestTypeId)){ >>>> >>>> >>>> orConditionBacklogList.add(EntityCondition.makeCondition("custRequestTypeId", >>>> EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG")); >>>> >>>> >>>> orConditionBacklogList.add(EntityCondition.makeCondition("custRequestTypeId", >>>> EntityOperator.EQUALS, "RF_PROD_BACKLOG")); >>>> orConditionsBacklog = >>>> EntityCondition.makeCondition(orConditionBacklogList, >>>> EntityOperator.OR); >>>> @@ -58,7 +57,7 @@ if ((parameters.billed != null)||(parame >>>> conditionBacklogList.add(EntityCondition.makeCondition("billed", >>>> EntityOperator.EQUALS, parameters.billed)); >>>> } >>>> >>>> - if(!"Any".equals(parameters.statusId)){ >>>> + if(UtilValidate.isNotEmpty(parameters.statusId)){ >>>> orderBy = "custSequenceNum"; >>>> >>>> conditionBacklogList.add(EntityCondition.makeCondition("statusId", >>>> EntityOperator.EQUALS, parameters.statusId)); >>>> } >>>> >>>> Modified: ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml >>>> URL: >>>> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml?rev=1754051&r1=1754050&r2=1754051&view=diff >>>> >>>> >>>> ============================================================================== >>>> --- ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml (original) >>>> +++ ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml Mon Jul 25 >>>> 21:38:11 2016 >>>> @@ -812,15 +812,13 @@ under the License. >>>> </drop-down> >>>> </field> >>>> <field name="custRequestTypeId" >>>> title="${uiLabelMap.ScrumPlanned}"> >>>> - <drop-down allow-empty="false"> >>>> - <option key="${uiLabelMap.CommonAny}" description=" "/> >>>> + <drop-down allow-empty="true"> >>>> <option key="RF_PROD_BACKLOG" >>>> description="${uiLabelMap.CommonY}"/> >>>> <option key="RF_UNPLAN_BACKLOG" >>>> description="${uiLabelMap.CommonN}"/> >>>> </drop-down> >>>> </field> >>>> <field name="statusId" title="${uiLabelMap.CommonStatus}" >>>> position="2"> >>>> - <drop-down allow-empty="false"> >>>> - <option key="${uiLabelMap.CommonAny}" description=" "/> >>>> + <drop-down allow-empty="true"> >>>> <entity-options entity-name="StatusItem" >>>> key-field-name="statusId"> >>>> <entity-constraint name="statusTypeId" >>>> value="CUSTREQ_STTS"/> >>>> <entity-constraint name="statusId" >>>> operator="not-equals" value="CRQ_PENDING"/> >>>> >>>> >>>> >>>> >> >> >
