You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2016/07/25 21:38:12 UTC
svn commit: r1754051 - in /ofbiz/trunk/specialpurpose/scrum:
groovyScripts/FindProductBacklogItem.groovy widget/scrumForms.xml
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"/>
Re: svn commit: r1754051 - in /ofbiz/trunk/specialpurpose/scrum:
groovyScripts/FindProductBacklogItem.groovy widget/scrumForms.xml
Posted by Nicolas Malin <ni...@nereide.fr>.
Le 26/07/2016 � 08:12, Scott Gray a �crit :
> I didn't ask him to fix them, they were mostly just informational comments
> for both yourself and Florian.
And these little remarks are important to grow the quality code, thanks
scott
Nicolas
>
> Regards
> Scott
>
Re: svn commit: r1754051 - in /ofbiz/trunk/specialpurpose/scrum:
groovyScripts/FindProductBacklogItem.groovy widget/scrumForms.xml
Posted by Scott Gray <sc...@hotwaxsystems.com>.
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 <ja...@les7arts.com>
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, <jl...@apache.org> 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"/>
>>>>
>>>>
>>>>
>>>>
>>
>>
>
Re: svn commit: r1754051 - in /ofbiz/trunk/specialpurpose/scrum:
groovyScripts/FindProductBacklogItem.groovy widget/scrumForms.xml
Posted by Jacques Le Roux <ja...@les7arts.com>.
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, <jl...@apache.org> 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"/>
>>>
>>>
>>>
>
>
Re: svn commit: r1754051 - in /ofbiz/trunk/specialpurpose/scrum:
groovyScripts/FindProductBacklogItem.groovy widget/scrumForms.xml
Posted by Jacques Le Roux <ja...@les7arts.com>.
Thanks for the review Scott, I'll ask Florian to fix these minor details
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, <jl...@apache.org> 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"/>
>>
>>
>>
Re: svn commit: r1754051 - in /ofbiz/trunk/specialpurpose/scrum:
groovyScripts/FindProductBacklogItem.groovy widget/scrumForms.xml
Posted by Scott Gray <sc...@hotwaxsystems.com>.
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, <jl...@apache.org> 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"/>
>
>
>