Index: dealer-service/branches/grails3_from_grails2/grails-app/services/com/lemans/dealer/DealerService.groovy =================================================================== diff -u -r10026 -r10086 --- dealer-service/branches/grails3_from_grails2/grails-app/services/com/lemans/dealer/DealerService.groovy (.../DealerService.groovy) (revision 10026) +++ dealer-service/branches/grails3_from_grails2/grails-app/services/com/lemans/dealer/DealerService.groovy (.../DealerService.groovy) (revision 10086) @@ -270,6 +270,7 @@ } if (criteria.defaultDomainId) { clauses << 'defaultDomainId = :defaultDomainId' } if (criteria.q) { clauses << qClause(criteria) } + if (criteria.dealer) { clauses << dealerClause(criteria) } clauses } @@ -330,6 +331,22 @@ } } + private String dealerClause(criteria) { + expandDealer(criteria) + String clause = '''( + dealerCode LIKE :beginningWithDealer OR + dealerName LIKE :containingDealer ''' + clause += '\n)' + clause + } + + private expandDealer(criteria) { + criteria.with { + beginningWithDealer = "$dealer%".toString() + containingDealer = "%$dealer%".toString() + } + } + private Map transformDatesToLocalDates(Map data) { data.results = new DateTransformer().transformDatesToLocalDates(LOCAL_DATE_PROPERTIES, data.results) data Index: dealer-service/branches/grails3_from_grails2/grails-app/controllers/com/lemans/api/dealer/ApiDealerController.groovy =================================================================== diff -u -r9984 -r10086 --- dealer-service/branches/grails3_from_grails2/grails-app/controllers/com/lemans/api/dealer/ApiDealerController.groovy (.../ApiDealerController.groovy) (revision 9984) +++ dealer-service/branches/grails3_from_grails2/grails-app/controllers/com/lemans/api/dealer/ApiDealerController.groovy (.../ApiDealerController.groovy) (revision 10086) @@ -22,7 +22,7 @@ // FIXME: this blows up when called without a pageSize param - force pagination (quietly ?) - kkrebs def index() { - List filterFields = ['regionId', 'salesmanId', 'dealerStatus', 'classification', 'defaultDomainId'] + List filterFields = ['regionId', 'salesmanId', 'dealerStatus', 'classification', 'defaultDomainId', 'dealer'] Map criteria = common() + pagination() + filters(filterFields) Map data = dealerService.dealerSearch(criteria) renderPaginated(data)