← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 685827] Re: Server ORM bug V5 (copy translation). Error when duplicating product, using product_variant_multi

 

Hello Sébastien,

Your patch solves the issue undoubtedly for _inherits, but its not
accurate as it breaks the flow of copy for the objects which have O2M
relation with itself(i.e. account, category,locations, etc.).

Not only the check of same relation is to be maintained,but also it
needs to check the ID which is being copied.

With the new patch attached, you will be able to understand what I meant
here.

Share your words please.

Thanks.


** Patch added: "Product_variant_multi_inherits.patch"
   https://bugs.launchpad.net/openobject-server/+bug/685827/+attachment/1759518/+files/Product_variant_multi_inherits.patch

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/685827

Title:
  Server ORM bug V5 (copy translation). Error when duplicating product, using product_variant_multi

Status in OpenObject Server:
  Confirmed

Bug description:
  Hi
After installing product_variant_multi (in multilanguage), I can not duplicate anymore a product.
Indeed, If you look in the orm, a recursive function is used to duplicated all of the translation.

In the case of the product_variant_multi, the object "product_product" inherit "product.template" 
Here are the relation between the two object
"product.product"=>product_tmpl_id : many2one=>"product.template" 
"product.template"=>variants_ids : one2many=>"product.product"

Note : the object "product.product" have as field the field "variants_ids" in the list of its fields indeed it inherit the product.template.

When we try to duplicate the translation, we use the recursive method on all many2one and one2many fields.
The first called is done on the object "product.product". As this object have the fields variants_ids which is a related fields (one2many) related to "product.product", the recursive function is called with the same value, and we enter in a infinite loop. By chance the ORM stop the process after X recursion, and raise an error.

I join a patch.

Hope it will help.





References