Erreur avec le module (purchase_discount)

Bonjour à tous et surtout @simon.jejcic :wink:

On a installé le module purchase_discount car il était indiqué en dépendance manquante (a priori du module colisage purchase_package_qty). En l’installant, on ne peut plus générer de factures clients (depuis le POS ou depuis le module Vente).

    "{\"message\":\"Odoo Server Error\",\"code\":200,\"data\":{\"debug\":\"Traceback (most recent call last):\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/http.py\\\", line 647, in _handle_exception\\n    return super(JsonRequest, self)._handle_exception(exception)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/http.py\\\", line 684, in dispatch\\n    result = self._call_function(**self.params)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/http.py\\\", line 320, in _call_function\\n    return checked_call(self.db, *args, **kwargs)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/service/model.py\\\", line 118, in wrapper\\n    return f(dbname, *args, **kwargs)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/http.py\\\", line 313, in checked_call\\n    result = self.endpoint(*a, **kw)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/http.py\\\", line 963, in __call__\\n    return self.method(*args, **kw)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/http.py\\\", line 513, in response_wrap\\n    response = f(*args, **kw)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py\\\", line 897, in call_kw\\n    return self._call_kw(model, method, args, kwargs)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py\\\", line 889, in _call_kw\\n    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/api.py\\\", line 250, in wrapper\\n    return old_api(self, *args, **kwargs)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/addons/point_of_sale/point_of_sale.py\\\", line 810, in create_from_ui\\n    self.action_invoice(cr, uid, [order_id], context)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/api.py\\\", line 250, in wrapper\\n    return old_api(self, *args, **kwargs)\\n  
File \\\"/usr/lib/python2.7/dist-packages/openerp/addons/point_of_sale/point_of_sale.py\\\", line 1188, in action_invoice\\n    invoice_line = inv_line_ref.new(cr, SUPERUSER_ID, inv_line, context=local_context)\\nTypeError: new() takes at most 2 arguments (5 given)\\n\",\"exception_type\":\"internal_error\",\"message\":\"new() takes at most 2 arguments (5 given)\",\"name\":\"exceptions.TypeError\",\"arguments\":[\"new() takes at most 2 arguments (5 given)\"]}}"
(fonction anonyme) — web.assets_common.js:2544:460
(fonction anonyme) — web.assets_common.js:650:687
fire — web.assets_common.js:644:305
fireWith — web.assets_common.js:649:203
done — web.assets_common.js:1040:107
callback — web.assets_common.js:1060

En regardant le code du module purchase_discount, cette linge du module purchase_discount/models/account_invoice_line
ne viendrait-il pas poser un problème à celle-ci du module point_of_sale (lors de la création de la facture) ?

L’erreur étant :

invoice_line = inv_line_ref.new(cr, SUPERUSER_ID, inv_line, context=local_context)\\nTypeError: new() takes at most 2 arguments (5 given)

et inv_line_ref est

inv_line_ref = self.pool.get('account.invoice.line')

Du coup en l’état on ne l’a pas installé. La dépendance manque donc et surtout la fonctionnalité du discount sur les achats nous intéresse. On aimerait l’utiliser.

Merci pour ton retour.
FJ

Bon résolu, j’ai trouvé le bon module (v « 9.0.1.1.0 ») avec le fix sur le repo de l’OCA : https://github.com/OCA/purchase-workflow/tree/9.0/purchase_discount
Il intègre ce fix qui remet la compatibilité avec la old_api : https://github.com/OCA/purchase-workflow/commit/971348abe9ff0abf1dc8dfa035c1bc085bbde934
Il faudrait que La louve mette à jour son repo git avec cette version @simon.jejcic. Merci @guillaume.oui pour son aide !

… de notre côté se pose aussi la question du référentiel commun : versions odoo et versions de modules. Pas simple mais une orientation se dessine clairement dans une perspective « verticale » (position soutenue par La Louve).
On pourrait envisager une réunion de travail intercoop sur cette question avec l’implication des personnes qui traitent ces aspects dans les différentes coop.

Merci d’avoir partagé ta question… et sa résolution. Nulle doute que ça nous aidera quand nous ferons face au problème.

Effectivement, ca serait intéressant. J’essaie d’alimenter le plus pour partager avec la communauté et remonter à LaLouve nos retours histoires qu’ils maintiennent

En mettant les bons modules avec les bonnes versions.
Avec plaisir pour participer et aider. En ce moment on installe qqs modules structurants de La Louve et la communauté donc c’est le bon moment :wink:

Hello,

Le fix a été poussé vite fait le 14/07 sur notre version du module:

Lors de la prochaine session de push OCA, nous resynchroniserons avec le module d’origine.

Bonne journée,
Simon