Merge lp:~openerp-dev/openerp-web/trunk-field-completion-xmo into lp:openerp-web

Proposed by Xavier (Open ERP)
Status: Needs review
Proposed branch: lp:~openerp-dev/openerp-web/trunk-field-completion-xmo
Merge into: lp:openerp-web
Diff against target: 35 lines (+11/-7)
1 file modified
addons/web/static/src/js/search.js (+11/-7)
To merge this branch: bzr merge lp:~openerp-dev/openerp-web/trunk-field-completion-xmo
Reviewer Review Type Date Requested Status
OpenERP R&D Web Team Pending
Review via email: mp+198237@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

3900. By Xavier (Open ERP)

[IMP] use new complete_field method in m2o search completion

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'addons/web/static/src/js/search.js'
2--- addons/web/static/src/js/search.js 2013-12-02 15:18:38 +0000
3+++ addons/web/static/src/js/search.js 2013-12-09 12:08:55 +0000
4@@ -535,7 +535,6 @@
5 resp(_(arguments).chain()
6 .compact()
7 .map(function (completion) {
8- console.log(completion);
9 if (completion.length && completion[0].facet !== undefined) {
10 completion[0].first = true;
11 }
12@@ -1562,12 +1561,17 @@
13 // FIXME: "concurrent" searches (multiple requests, mis-ordered responses)
14 var context = instance.web.pyeval.eval(
15 'contexts', [this.view.dataset.get_context()]);
16- return this.model.call('name_search', [], {
17- name: needle,
18- args: instance.web.pyeval.eval(
19- 'domains', this.attrs.domain ? [this.attrs.domain] : [], context),
20- limit: 8,
21- context: context
22+ return new instance.web.Model(this.view.model)
23+ .call('complete_field', [this.attrs.name, needle], {
24+ field_domain: instance.web.pyeval.eval(
25+ 'domains', this.attrs.domain ? [this.attrs.domain] : [], context),
26+ // apply action's domain on parent object, but not current
27+ // domain, users won't understand & won't be able to build
28+ // searches easily as completion will depend on current search
29+ // state
30+ parent_domain: this.view.dataset.get_domain(),
31+ limit: 8,
32+ context: context
33 }).then(function (results) {
34 if (_.isEmpty(results)) { return null; }
35 return [{label: self.attrs.string}].concat(