if (values.length > self.limit) {
values = values.slice(0, self.limit);
values.push({label: _t("<em> Search More...</em>"), action: function() {
- dataset.name_search(search_val, self.build_domain(), 'ilike'
- , false, function(data) {
+ if (search_val.length == 0) {
+ // search optimisation - in case user didn't enter any text we
+ // do not need to prefilter records; for big datasets (ex: more
+ // that 10.000 records) calling name_search() could be very very
+ // expensive!
self._change_int_value(null);
- self._search_create_popup("search", data);
- });
+ self._search_create_popup("search", undefined);
+ } else {
+ dataset.name_search(search_val, self.build_domain(), 'ilike'
+ , false, function(data) {
+ self._change_int_value(null);
+ self._search_create_popup("search", data);
+ });
+ }
}});
}
// quick create