Bugfix in Kernel
authorFabien Pinckaers <fp@tinyerp.com>
Sun, 7 Sep 2008 23:25:24 +0000 (01:25 +0200)
committerFabien Pinckaers <fp@tinyerp.com>
Sun, 7 Sep 2008 23:25:24 +0000 (01:25 +0200)
bzr revid: fp@tinyerp.com-20080907232524-9j9087qhyp7na69a

bin/addons/base/base_update.xml
bin/addons/base/res/partner/partner_view.xml
bin/osv/orm.py

index 8f26d3e..285e793 100644 (file)
                         <page string="Internal Header/Footer">
                             <field colspan="4" name="rml_header2" nolabel="1"/>
                         </page>
+                        <page string="Configuration">
+                        </page>
                     </notebook>
                 </form>
             </field>
index 22c3e04..b36133d 100644 (file)
             <field name="domain">[('supplier','&lt;&gt;',1),('customer','&lt;&gt;',1)]</field>
         </record>
         <menuitem action="action_partner_other_form" id="menu_partner_other_form" parent="menu_partner_form"/>
+        <record id="action_partner_customer_form_new" model="ir.actions.act_window">
+            <field name="name">New Partner</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">res.partner</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">form,tree</field>
+        </record>
+        <menuitem action="action_partner_customer_form_new" id="menu_partner_customer_form_new" parent="menu_partner_form"/>
 
         <record id="view_payterm_form" model="ir.ui.view">
             <field name="name">res.payterm</field>
index 0178c2d..5d73ee4 100644 (file)
@@ -769,7 +769,7 @@ class orm_template(object):
                 fields[node.getAttribute('name')] = attrs
 
         elif node.nodeType==node.ELEMENT_NODE and node.localName in ('form', 'tree'):
-            result = self.pool.get(self._name).view_header_get(cr, user, False, node.localName, context)
+            result = self.view_header_get(cr, user, False, node.localName, context)
             if result:
                 node.setAttribute('string', result.decode('utf-8'))
         if node.nodeType == node.ELEMENT_NODE and node.hasAttribute('groups'):
@@ -1388,8 +1388,10 @@ class orm(orm_template):
                                     iids = ids_lst[:40]
                                     ids_lst = ids_lst[40:]
                                     res = f.get(cr, self, iids, k, 1, {})
-                                    for r in res.items():
-                                        cr.execute("UPDATE \"%s\" SET \"%s\"='%s' where id=%d"% (self._table, k, r[1], r[0]))
+                                    for key,val in res.items():
+                                        if f._multi:
+                                            val = val[k]
+                                        cr.execute("UPDATE \"%s\" SET \"%s\"='%s' where id=%d"% (self._table, k, val, key))
 
                             # and add constraints if needed
                             if isinstance(f, fields.many2one):
@@ -1779,9 +1781,9 @@ class orm(orm_template):
         for key,val in todo.items():
             if key:
                 res2 = self._columns[val[0]].get(cr, self, ids, val, user, context=context, values=res)
-                for pos in range(len(val)):
+                for pos in val:
                     for record in res:
-                        record[val[pos]] = res2[record['id']][pos]
+                        record[pos] = res2[record['id']][pos]
             else:
                 for f in val:
                     res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)