mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
When invoicing from dropshipping, the same picking serves for both invoicing sale and purchase orders. The OCA module stock_dropshipping_dual_invoice makes that this happens, but as the picking is the same, it contains both the sale and the purchase reference, making that the resulting invoices don't have the correct payment mode. This is harmless for the rest of operations, as the dictionary query is provided with the proper default value. On v9, dropshipping dual invoice has been merged into core, so this patch for sure will be welcome in that version (if the used method is the same).
41 lines
1.8 KiB
Python
41 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
##############################################################################
|
|
#
|
|
# Account Payment Purchase module for OpenERP
|
|
# Copyright (C) 2014 Akretion (http://www.akretion.com)
|
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
|
#
|
|
# 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 <http://www.gnu.org/licenses/>.
|
|
#
|
|
##############################################################################
|
|
|
|
from openerp import models, api
|
|
|
|
|
|
class StockPicking(models.Model):
|
|
_inherit = "stock.picking"
|
|
|
|
@api.model
|
|
def _create_invoice_from_picking(self, picking, vals):
|
|
# This will assure that stock_dropshipping_dual_invoice will work
|
|
inv_type = self.env.context.get('inv_type', 'in_invoice')
|
|
if picking and picking.move_lines and inv_type == 'in_invoice':
|
|
# Get purchase order from first move line
|
|
if picking.move_lines[0].purchase_line_id:
|
|
purchase = picking.move_lines[0].purchase_line_id.order_id
|
|
vals['partner_bank_id'] = purchase.supplier_partner_bank_id.id
|
|
vals['payment_mode_id'] = purchase.payment_mode_id.id
|
|
return super(StockPicking, self)._create_invoice_from_picking(
|
|
picking, vals)
|