← 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

 

*** This bug is a duplicate of bug 673194 ***
    https://bugs.launchpad.net/bugs/673194

For v5.0 unfortunately we cannot apply the same fix, because it is too risky.
I think the extra-addons modules do have a workaround implemented in v5.0, so it is less of an issue anyway. It is always possible to override the copy_* methods to fix it, too.

-- 
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
Status in OpenObject Server 5.0 series:
  Won't Fix
Status in OpenObject Server trunk series:
  Fix Released

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