From 18e9def5d9e9c53a2600e2fcd77abc1c5fd143d5 Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Fri, 16 Aug 2013 16:15:40 +0200 Subject: [PATCH] [ADD] account_partner_merge module --- account_partner_merge/__init__.py | 21 ++++++++++++++++ account_partner_merge/__openerp__.py | 34 +++++++++++++++++++++++++ account_partner_merge/partner_merge.py | 35 ++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 account_partner_merge/__init__.py create mode 100644 account_partner_merge/__openerp__.py create mode 100644 account_partner_merge/partner_merge.py diff --git a/account_partner_merge/__init__.py b/account_partner_merge/__init__.py new file mode 100644 index 000000000..3f14918b1 --- /dev/null +++ b/account_partner_merge/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Yannick Vaucher +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from . import partner_merge diff --git a/account_partner_merge/__openerp__.py b/account_partner_merge/__openerp__.py new file mode 100644 index 000000000..309408d36 --- /dev/null +++ b/account_partner_merge/__openerp__.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Yannick Vaucher +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{'name' : 'Account Partner Merge', + 'version' : '1.0', + 'category': 'Hidden', + 'description': """Update invoice commercial_partner_id""", + 'author' : 'Camptocamp', + 'maintainer': 'Camptocamp', + 'website': 'http://www.camptocamp.com/', + 'depends' : ['account_report_company', 'base_partner_merge'], + 'data': [], + 'test': [], + 'installable': True, + 'auto_install': True, + 'application': False, + } diff --git a/account_partner_merge/partner_merge.py b/account_partner_merge/partner_merge.py new file mode 100644 index 000000000..4be6784c0 --- /dev/null +++ b/account_partner_merge/partner_merge.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Yannick Vaucher +# Copyright 2013 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from openerp.osv import osv + +class MergePartnerAutomatic(osv.TransientModel): + _inherit = 'base.partner.merge.automatic.wizard' + + def _update_values(self, cr, uid, src_partners, dst_partner, context=None): + """ + Make sure we don't forget to update the stored value of invoice field commercial_partner_id + """ + super(MergePartnerAutomatic, self)._update_values(cr, uid, src_partners, dst_partner, context=context) + + invoice_obj = self.pool.get('account.invoice') + invoice_ids = invoice_obj.search(cr, uid, [('partner_id', '=', dst_partner.id)], context=context) + # call write to refresh stored value + invoice_obj.write(cr, uid, invoice_ids, {}, context=context)