Add hooks to the merge PO feature.

purchase_group_hooks
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/10.0/purchase_group_hooks
VERSION
VERSION 0.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERSPedro M. Baeza
WEBSITE
WEBSITEhttp://www.camptocamp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
 In the core OpenERP purchase module, there is a wizard to merge purchase
 orders. That feature is convenient, but as soon as a field is added to the
 purchase order, it does not work anymore and needs to be patched.
 The original implementation does not provide any hooks for extension, and
 modules can only reimplement a method completely. This required a lot of copy
 and paste, and worse, it breaks if two modules attempt to do that.

 Therefore, this module reimplements the feature, with the same basic result
 in the standard case. Hooks are provided for extra modules that add fields
 or change the logic.
 

Code Analysis

Views touched (0)

No views found for this module.

Models touched (1)

New fields (0)

No new fields.

Public methods (1)
  • do_merge(self, cr, uid, input_order_ids, context=None)
    Merge Purchase Orders. This method replaces the original one in the purchase module because it did not provide any hooks for customization. Receive a list of order ids, and return a dictionary where each element is in the form: new_order_id: [old_order_1_id, old_order_2_id] New orders are created, and old orders are deleted.
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/9.0/purchase_group_hooks
VERSION
VERSION 0.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERS
WEBSITE
WEBSITEhttp://www.camptocamp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
    - web_tip
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
 In the core OpenERP purchase module, there is a wizard to merge purchase
 orders. That feature is convenient, but as soon as a field is added to the
 purchase order, it does not work anymore and needs to be patched.
 The original implementation does not provide any hooks for extension, and
 modules can only reimplement a method completely. This required a lot of copy
 and paste, and worse, it breaks if two modules attempt to do that.

 Therefore, this module reimplements the feature, with the same basic result
 in the standard case. Hooks are provided for extra modules that add fields
 or change the logic.
 

Code Analysis

Views touched (0)

No views found for this module.

Models touched (1)

New fields (0)

No new fields.

Public methods (1)
  • do_merge(self, cr, uid, input_order_ids, context=None)
    Merge Purchase Orders. This method replaces the original one in the purchase module because it did not provide any hooks for customization. Receive a list of order ids, and return a dictionary where each element is in the form: new_order_id: [old_order_1_id, old_order_2_id] New orders are created, and old orders are deleted.
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/8.0/purchase_group_hooks
VERSION
VERSION 0.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERSStéphane Bidoul, Pedro M. Baeza
WEBSITE
WEBSITEhttp://www.camptocamp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
    - account
    - analytic
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
 In the core OpenERP purchase module, there is a wizard to merge purchase
 orders. That feature is convenient, but as soon as a field is added to the
 purchase order, it does not work anymore and needs to be patched.
 The original implementation does not provide any hooks for extension, and
 modules can only reimplement a method completely. This required a lot of copy
 and paste, and worse, it breaks if two modules attempt to do that.

 Therefore, this module reimplements the feature, with the same basic result
 in the standard case. Hooks are provided for extra modules that add fields
 or change the logic.
 

Code Analysis

Views touched (0)

No views found for this module.

Models touched (1)

New fields (0)

No new fields.

Public methods (1)
  • do_merge(self, cr, uid, input_order_ids, context=None)
    Merge Purchase Orders. This method replaces the original one in the purchase module because it did not provide any hooks for customization. Receive a list of order ids, and return a dictionary where each element is in the form: new_order_id: [old_order_1_id, old_order_2_id] New orders are created, and old orders are deleted.
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/7.0/purchase_group_hooks
VERSION
VERSION 0.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERSRomain Deheele, Alexandre Fayolle, Leonardo Pistone, OCA Transbot
WEBSITE
WEBSITEhttp://www.camptocamp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock
    - product
    - base
    - process
    - web
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - account
    - analytic
    - board
    - edi
    - email_template
    - procurement
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
 In the core OpenERP purchase module, there is a wizard to merge purchase
 orders. That feature is convenient, but as soon as a field is added to the
 purchase order, it does not work anymore and needs to be patched.
 The original implementation does not provide any hooks for extension, and
 modules can only reimplement a method completely. This required a lot of copy
 and paste, and worse, it breaks if two modules attempt to do that.

 Therefore, this module reimplements the feature, with the same basic result
 in the standard case. Hooks are provided for extra modules that add fields
 or change the logic.
 

Code Analysis

Views touched (0)

No views found for this module.

Models touched (1)

New fields (0)

No new fields.

Public methods (1)
  • do_merge(self, cr, uid, input_order_ids, context=None)
    Merge Purchase Orders. This method replaces the original one in the purchase module because it did not provide any hooks for customization. Receive a list of order ids, and return a dictionary where each element is in the form: new_order_id: [old_order_1_id, old_order_2_id] New orders are created, and old orders are deleted.