Sananaz (Open ERP) has proposed merging 
lp:~openerp-dev/openobject-client-web/6.0-opw-17132-sma into 
lp:openobject-client-web/6.0.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #783870 in OpenERP Web Client: "Problem with base_contact module 
(cherrypy error)"
  https://bugs.launchpad.net/openobject-client-web/+bug/783870

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-17132-sma/+merge/75734

Hello,

1. Install base_contact module
2. Open Customer form view in readonly mode
3. Click on any existing contact rows

It gives traceback.

Problem is related to nested one2many when field in form view, like address is 
form view and it contains contact field which is also one2many and it open 
popup this time need to pass base parent datas. 

Thanks.
-- 
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-17132-sma/+merge/75734
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-client-web/6.0-opw-17132-sma.
=== modified file 'addons/openerp/controllers/openo2m.py'
--- addons/openerp/controllers/openo2m.py	2011-04-04 15:02:36 +0000
+++ addons/openerp/controllers/openo2m.py	2011-09-16 13:31:48 +0000
@@ -49,9 +49,6 @@
         form = tw.form_view.ViewForm(vp, name="view_form", action="/openerp/openo2m/save")
         cherrypy.request.terp_validators = {}
 
-        if '/' in params.o2m:
-            params.o2m = '.'.join(params.o2m.split('/')[-1:])
-
         wid = form.screen.widget.get_widgets_by_name(params.o2m)[0]
 
         # save view_params for later phazes

=== modified file 'addons/openerp/static/javascript/o2m.js'
--- addons/openerp/static/javascript/o2m.js	2011-05-10 14:33:47 +0000
+++ addons/openerp/static/javascript/o2m.js	2011-09-16 13:31:48 +0000
@@ -41,6 +41,7 @@
     this.parent_view_id = openobject.dom.get(parent_prefix + '_terp_view_id').value;
     this.parent_view_ids = jQuery(idSelector(parent_prefix + '_terp_view_ids')).val();
     this.parent_view_mode = jQuery(idSelector(parent_prefix + '_terp_view_mode')).val();
+    this.parent_view_type = openobject.dom.get(parent_prefix + '_terp_view_type').value;
 
     // hide new button when editors are visible
     if (this.mode == 'tree' && this.inline) {
@@ -51,6 +52,18 @@
         });
     }
 
+    this.params_parent = false
+    if (window == window.top){
+        this.params_parent = {
+            '_terp_view_params/_terp_model': openobject.dom.get('_terp_model').value,
+            '_terp_view_params/_terp_id': openobject.dom.get('_terp_id').value,
+            '_terp_view_params/_terp_view_id':openobject.dom.get('_terp_view_id').value,
+            '_terp_view_params/_terp_view_ids': openobject.dom.get('_terp_view_ids').value,
+            '_terp_view_params/_terp_view_mode': openobject.dom.get('_terp_view_mode').value,
+            '_terp_view_params/_terp_context': openobject.dom.get('_terp_context').value || {},
+            '_terp_view_params/_terp_view_type': 'form'
+        };
+    }
     var $this = jQuery(idSelector('_o2m_' + name));
     var $list = jQuery(idSelector(name));
     $list.attr({
@@ -136,6 +149,15 @@
             '_terp_view_params/_terp_view_type': 'form'
         };
 
+        var o2m_name;
+        if (this.params_parent) {
+            params = this.params_parent;
+        }
+        else {
+            o2m_name = this.name.split('/');
+            o2m_name = o2m_name[o2m_name.length-1];
+        }
+
         while (names.length) {
             parents.push(names.shift());
             var prefix = parents.join('/');
@@ -153,8 +175,9 @@
             _terp_parent_model: this.parent_model,
             _terp_parent_id: this.parent_id,
             _terp_parent_view_id: this.parent_view_id,
-            _terp_o2m: this.name,
+            _terp_o2m: o2m_name ? o2m_name : this.name,
             _terp_o2m_model: this.model,
+            _terp_parent_view_type: this.parent_view_type,
             _terp_editable: readonly ? 0 : 1
         });
 

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to