> 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);