mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[MIG] account_payment_sale: Migration to v9
This commit is contained in:
committed by
Atchuthan Ubendran
parent
c2f1a1377a
commit
bb45ede128
@@ -1,13 +1,12 @@
|
|||||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||||
:alt: License: AGPL-3
|
:alt: License: AGPL-3
|
||||||
|
|
||||||
|
====================
|
||||||
Account Payment Sale
|
Account Payment Sale
|
||||||
====================
|
====================
|
||||||
|
|
||||||
This module should be used when the invoice is based on the sale order.
|
|
||||||
|
|
||||||
This modules adds one field on sale orders: *Payment Mode*.
|
This modules adds one field on sale orders: *Payment Mode*.
|
||||||
This field is copied from partner to sale order and then from sale order to
|
This field is copied from customer to sale order and then from sale order to
|
||||||
customer invoice.
|
customer invoice.
|
||||||
|
|
||||||
This module is similar to the *sale_payment* module; the main difference is
|
This module is similar to the *sale_payment* module; the main difference is
|
||||||
@@ -19,7 +18,8 @@ Installation
|
|||||||
============
|
============
|
||||||
|
|
||||||
This module depends on :
|
This module depends on :
|
||||||
* purchase
|
|
||||||
|
* sale
|
||||||
* account_payment_partner
|
* account_payment_partner
|
||||||
|
|
||||||
This module is part of the OCA/bank-payment suite.
|
This module is part of the OCA/bank-payment suite.
|
||||||
@@ -35,12 +35,10 @@ Usage
|
|||||||
You are able to add a payment mode directly on a partner.
|
You are able to add a payment mode directly on a partner.
|
||||||
This payment mode is automatically associated to the sale order, then on related invoice.
|
This payment mode is automatically associated to the sale order, then on related invoice.
|
||||||
This default value could be change in a draft sale order or draft invoice.
|
This default value could be change in a draft sale order or draft invoice.
|
||||||
When you create an direct debit order, only invoices related to chosen payment mode are displayed.
|
|
||||||
Invoices without any payment mode are displayed to.
|
|
||||||
|
|
||||||
For further information, please visit:
|
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||||
|
:alt: Try me on Runbot
|
||||||
* https://www.odoo.com/forum/help-1
|
:target: https://runbot.odoo-community.org/runbot/173/9.0
|
||||||
|
|
||||||
Known issues / Roadmap
|
Known issues / Roadmap
|
||||||
======================
|
======================
|
||||||
@@ -50,10 +48,10 @@ Known issues / Roadmap
|
|||||||
Bug Tracker
|
Bug Tracker
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-payment/issues>`_.
|
Bugs are tracked on `GitHub Issues
|
||||||
In case of trouble, please check there if your issue has already been reported.
|
<https://github.com/OCA/bank-payment/issues>`_. In case of trouble, please
|
||||||
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
|
check there if your issue has already been reported. If you spotted it first,
|
||||||
`here <https://github.com/OCA/bank-payment/issues/new?body=module:%20account_payment_sale%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
help us smashing it by providing a detailed and welcomed feedback.
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
=======
|
=======
|
||||||
@@ -62,7 +60,7 @@ Contributors
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
* Pedro M. Baeza
|
* Pedro M. Baeza
|
||||||
* Alexis de Lattre
|
* Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
* Alexandre Fayolle
|
* Alexandre Fayolle
|
||||||
* Danimar Ribeiro
|
* Danimar Ribeiro
|
||||||
* Raphaël Valyi
|
* Raphaël Valyi
|
||||||
|
|||||||
@@ -1,23 +1,4 @@
|
|||||||
# -*- encoding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
##############################################################################
|
|
||||||
#
|
|
||||||
# Account Payment Sale 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 . import models
|
from . import models
|
||||||
|
from . import wizard
|
||||||
|
|||||||
@@ -1,28 +1,11 @@
|
|||||||
# -*- encoding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
##############################################################################
|
# © 2014-2016 Akretion (http://www.akretion.com)
|
||||||
#
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
# Account Payment Sale module for OpenERP
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
# 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/>.
|
|
||||||
#
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
{
|
{
|
||||||
'name': 'Account Payment Sale',
|
'name': 'Account Payment Sale',
|
||||||
'version': '8.0.1.0.0',
|
'version': '9.0.1.0.0',
|
||||||
'category': 'Banking addons',
|
'category': 'Banking addons',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'summary': "Adds payment mode on sale orders",
|
'summary': "Adds payment mode on sale orders",
|
||||||
|
|||||||
@@ -1,19 +1,3 @@
|
|||||||
# -*- encoding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
##############################################################################
|
|
||||||
#
|
|
||||||
# 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 . import sale_order
|
from . import sale_order
|
||||||
|
|||||||
@@ -1,24 +1,6 @@
|
|||||||
# -*- encoding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
##############################################################################
|
# © 2014-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||||
#
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
# Account Payment Sale 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, fields, api
|
from openerp import models, fields, api
|
||||||
|
|
||||||
@@ -27,24 +9,25 @@ class SaleOrder(models.Model):
|
|||||||
_inherit = "sale.order"
|
_inherit = "sale.order"
|
||||||
|
|
||||||
payment_mode_id = fields.Many2one(
|
payment_mode_id = fields.Many2one(
|
||||||
'payment.mode', string='Payment Mode',
|
'account.payment.mode', string='Payment Mode',
|
||||||
domain="[('sale_ok', '=', True)]")
|
domain=[('payment_type', '=', 'inbound')])
|
||||||
|
|
||||||
@api.multi
|
@api.onchange('partner_id')
|
||||||
def onchange_partner_id(self, partner_id):
|
def onchange_partner_id(self):
|
||||||
res = super(SaleOrder, self).onchange_partner_id(partner_id)
|
res = super(SaleOrder, self).onchange_partner_id()
|
||||||
if partner_id:
|
if self.partner_id:
|
||||||
partner = self.env['res.partner'].browse(partner_id)
|
self.payment_mode_id = self.partner_id.customer_payment_mode_id
|
||||||
res['value']['payment_mode_id'] = partner.customer_payment_mode.id
|
|
||||||
else:
|
else:
|
||||||
res['value']['payment_mode_id'] = False
|
self.payment_mode_id = False
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@api.model
|
@api.multi
|
||||||
def _prepare_invoice(self, order, lines):
|
def _prepare_invoice(self):
|
||||||
"""Copy bank partner from sale order to invoice"""
|
"""Copy bank partner from sale order to invoice"""
|
||||||
vals = super(SaleOrder, self)._prepare_invoice(order, lines)
|
vals = super(SaleOrder, self)._prepare_invoice()
|
||||||
if order.payment_mode_id:
|
if self.payment_mode_id:
|
||||||
vals['payment_mode_id'] = order.payment_mode_id.id
|
vals['payment_mode_id'] = self.payment_mode_id.id
|
||||||
vals['partner_bank_id'] = order.payment_mode_id.bank_id.id
|
if self.payment_mode_id.bank_account_link == 'fixed':
|
||||||
|
vals['partner_bank_id'] =\
|
||||||
|
self.payment_mode_id.fixed_journal_id.bank_account_id.id
|
||||||
return vals
|
return vals
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Copyright (C) 2014 Akretion (http://www.akretion.com/)
|
Copyright (C) 2014-2016 Akretion (http://www.akretion.com/)
|
||||||
@author Alexis de Lattre <alexis.delattre@akretion.com>
|
@author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
The licence is in the file __openerp__.py
|
The licence is in the file __openerp__.py
|
||||||
-->
|
-->
|
||||||
@@ -14,9 +14,9 @@
|
|||||||
<field name="model">sale.order</field>
|
<field name="model">sale.order</field>
|
||||||
<field name="inherit_id" ref="sale.view_order_form"/>
|
<field name="inherit_id" ref="sale.view_order_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="payment_term" position="after">
|
<field name="payment_term_id" position="after">
|
||||||
<field name="payment_mode_id"
|
<field name="payment_mode_id"
|
||||||
domain="[('sale_ok', '=', True)]"
|
domain="[('payment_type', '=', 'inbound')]"
|
||||||
widget="selection"/>
|
widget="selection"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
3
account_payment_sale/wizard/__init__.py
Normal file
3
account_payment_sale/wizard/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from . import sale_make_invoice_advance
|
||||||
24
account_payment_sale/wizard/sale_make_invoice_advance.py
Normal file
24
account_payment_sale/wizard/sale_make_invoice_advance.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
from openerp import models, api
|
||||||
|
|
||||||
|
|
||||||
|
class SaleAdvancePaymentInv(models.TransientModel):
|
||||||
|
_inherit = 'sale.advance.payment.inv'
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def _create_invoice(self, order, so_line, amount):
|
||||||
|
"""Copy payment mode from sale order to invoice"""
|
||||||
|
inv = super(SaleAdvancePaymentInv, self)._create_invoice(
|
||||||
|
order, so_line, amount)
|
||||||
|
vals = {}
|
||||||
|
if order.payment_mode_id:
|
||||||
|
vals['payment_mode_id'] = order.payment_mode_id.id
|
||||||
|
if order.payment_mode_id.bank_account_link == 'fixed':
|
||||||
|
vals['partner_bank_id'] =\
|
||||||
|
order.payment_mode_id.fixed_journal_id.bank_account_id.id
|
||||||
|
if vals:
|
||||||
|
inv.write(vals)
|
||||||
|
return inv
|
||||||
Reference in New Issue
Block a user