Merge lp:~openerp-dev/openerp-web/trunk-many2oneview-dle into lp:openerp-web

Proposed by Denis Ledoux (OpenERP)
Status: Work in progress
Proposed branch: lp:~openerp-dev/openerp-web/trunk-many2oneview-dle
Merge into: lp:openerp-web
Diff against target: 61 lines (+23/-21)
1 file modified
addons/web/static/src/js/view_form.js (+23/-21)
To merge this branch: bzr merge lp:~openerp-dev/openerp-web/trunk-many2oneview-dle
Reviewer Review Type Date Requested Status
OpenERP R&D Web Team Pending
Review via email: mp+207243@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

3940. By Denis Ledoux (OpenERP)

[ADD] web: many2one links using the new orm methods get_formview_* to open the right view depending on model specifications

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'addons/web/static/src/js/view_form.js'
--- addons/web/static/src/js/view_form.js 2014-01-31 00:52:02 +0000
+++ addons/web/static/src/js/view_form.js 2014-02-19 16:28:25 +0000
@@ -3283,20 +3283,25 @@
3283 return;3283 return;
3284 }3284 }
3285 var pop = new instance.web.form.FormOpenPopup(self);3285 var pop = new instance.web.form.FormOpenPopup(self);
3286 pop.show_element(3286 var context = self.build_context().eval();
3287 self.field.relation,3287 var model_obj = new instance.web.Model(self.field.relation);
3288 self.get("value"),3288 model_obj.call('get_formview_id', [self.get("value"), context]).then(function(view_id){
3289 self.build_context(),3289 pop.show_element(
3290 {3290 self.field.relation,
3291 title: _t("Open: ") + self.string3291 self.get("value"),
3292 }3292 self.build_context(),
3293 );3293 {
3294 pop.on('write_completed', self, function(){3294 title: _t("Open: ") + self.string,
3295 self.display_value = {};3295 view_id: view_id
3296 self.display_value_backup = {};3296 }
3297 self.render_value();3297 );
3298 self.focus();3298 pop.on('write_completed', self, function(){
3299 self.view.do_onchange(self);3299 self.display_value = {};
3300 self.display_value_backup = {};
3301 self.render_value();
3302 self.focus();
3303 self.view.do_onchange(self);
3304 });
3300 });3305 });
3301 });3306 });
33023307
@@ -3492,13 +3497,10 @@
3492 .html(link);3497 .html(link);
3493 if (! this.options.no_open)3498 if (! this.options.no_open)
3494 $link.click(function () {3499 $link.click(function () {
3495 self.do_action({3500 var context = self.build_context().eval();
3496 type: 'ir.actions.act_window',3501 var model_obj = new instance.web.Model(self.field.relation);
3497 res_model: self.field.relation,3502 model_obj.call('get_formview_action', [self.get("value"), context]).then(function(action){
3498 res_id: self.get("value"),3503 self.do_action(action);
3499 views: [[false, 'form']],
3500 target: 'current',
3501 context: self.build_context().eval(),
3502 });3504 });
3503 return false;3505 return false;
3504 });3506 });