On 16/02/2010, at 9:42 AM, [email protected] wrote: > Author: erwan > Date: Tue Feb 16 16:42:00 2010 > New Revision: 910587 > > URL: http://svn.apache.org/viewvc?rev=910587&view=rev > Log: > The auto-completer (in lookup fields) default behavior is "%fieldValue%" > (contains operation). > This allows to change the behavior to "fieldValue%"(statrWith operation) when > setting to "Y" the searchTypeStartWith field > > Modified: > > ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy > > ofbiz/trunk/framework/example/widget/example/FormWidgetExampleLookupScreens.xml > > Modified: > ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy?rev=910587&r1=910586&r2=910587&view=diff > ============================================================================== > --- > ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy > (original) > +++ > ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy > Tue Feb 16 16:42:00 2010 > @@ -32,7 +32,10 @@ > displayFields = context.displayFields ?: searchFields; > searchValueFieldName = parameters.searchValueField; > fieldValue = parameters.get(searchValueFieldName); > - > +searchTypeStartWith = context.searchTypeStartWith; > +if( searchTypeStartWith == null){ > + searchTypeStartWith = "N"; > +} > if (searchFields && fieldValue) { > searchFieldsList = StringUtil.toList(searchFields); > displayFieldsSet = StringUtil.toSet(displayFields); > @@ -40,20 +43,26 @@ > displayFieldsSet.add(returnField); //add it to select fields, in case it > is missing > context.returnField = returnField; > context.displayFieldsSet = displayFieldsSet; > - searchFieldsList.each { fieldName -> > - > andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER(EntityFieldValue.makeFieldValue(fieldName)), > EntityOperator.LIKE, "%" + fieldValue.toUpperCase() + "%")); > + if("Y".equals(searchTypeStartWith.toUpperCase())){ > + searchValue = fieldValue.toUpperCase() + "%"; > + } > + else{ > + searchValue = "%" + fieldValue.toUpperCase() + "%"; > + } > + searchFieldsList.each { fieldName -> > + > andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER(EntityFieldValue.makeFieldValue(fieldName)), > EntityOperator.LIKE, searchValue)); > } > } > - > +System.out.println(andExprs);
Hi Erwan,
You've forgotten to remove your println statement.
Also please watch your code formatting:
if (...) {
...
} else {
...
}
Thanks
Scott
smime.p7s
Description: S/MIME cryptographic signature
