diff --git a/account_payment_partner/__init__.py b/account_payment_partner/__init__.py index 161123944..fe47437f2 100644 --- a/account_payment_partner/__init__.py +++ b/account_payment_partner/__init__.py @@ -20,4 +20,5 @@ # ############################################################################## -from . import model +from . import models +from . import wizard diff --git a/account_payment_partner/__openerp__.py b/account_payment_partner/__openerp__.py index 4e0217c98..99df885ea 100644 --- a/account_payment_partner/__openerp__.py +++ b/account_payment_partner/__openerp__.py @@ -23,7 +23,7 @@ { 'name': 'Account Payment Partner', - 'version': '0.1', + 'version': '8.0.0.1.0', 'category': 'Banking addons', 'license': 'AGPL-3', 'summary': 'Adds payment mode on partners and invoices', @@ -39,17 +39,15 @@ This module adds severals fields : On a Payment Order, in the wizard *Select Invoices to Pay*, the invoices will be filtered per Payment Mode. - -Please contact Alexis de Lattre from Akretion -for any help or question about this module. """, - 'author': 'Akretion', + 'author': "Akretion,Odoo Community Association (OCA)", 'website': 'http://www.akretion.com', + 'contributors': ['Pedro M. Baeza '], 'depends': ['account_banking_payment_export'], 'data': [ - 'view/partner.xml', - 'view/account_invoice.xml', + 'views/res_partner_view.xml', + 'views/account_invoice_view.xml', ], 'demo': ['demo/partner_demo.xml'], - 'active': False, + 'installable': True, } diff --git a/account_payment_partner/i18n/account_payment_partner.pot b/account_payment_partner/i18n/account_payment_partner.pot index ca26e532d..3c5a39686 100644 --- a/account_payment_partner/i18n/account_payment_partner.pot +++ b/account_payment_partner/i18n/account_payment_partner.pot @@ -1,13 +1,13 @@ -# Translation of OpenERP Server. +# Translation of Odoo Server. # This file contains the translation of the following modules: # * account_payment_partner # msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" +"Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-06-09 23:22+0000\n" -"PO-Revision-Date: 2014-06-09 23:22+0000\n" +"POT-Creation-Date: 2014-10-31 22:53+0000\n" +"PO-Revision-Date: 2014-10-31 22:53+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -50,8 +50,3 @@ msgstr "" msgid "Supplier Payment Mode" msgstr "" -#. module: account_payment_partner -#: model:ir.model,name:account_payment_partner.model_payment_order_create -msgid "payment.order.create" -msgstr "" - diff --git a/account_payment_partner/i18n/es.po b/account_payment_partner/i18n/es.po new file mode 100644 index 000000000..63748b988 --- /dev/null +++ b/account_payment_partner/i18n/es.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_payment_partner +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-10-31 22:53+0000\n" +"PO-Revision-Date: 2014-10-31 22:53+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_payment_partner +#: field:res.partner,customer_payment_mode:0 +msgid "Customer Payment Mode" +msgstr "Modo de pago de cliente" + +#. module: account_payment_partner +#: model:ir.model,name:account_payment_partner.model_account_invoice +msgid "Invoice" +msgstr "Factura" + +#. module: account_payment_partner +#: model:ir.model,name:account_payment_partner.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: account_payment_partner +#: field:account.invoice,payment_mode_id:0 +msgid "Payment Mode" +msgstr "Modo de pago" + +#. module: account_payment_partner +#: help:res.partner,customer_payment_mode:0 +msgid "Select the default payment mode for this customer." +msgstr "Seleccione el modo de pago por defecto cuando esta empresa actĂșa como cliente." + +#. module: account_payment_partner +#: help:res.partner,supplier_payment_mode:0 +msgid "Select the default payment mode for this supplier." +msgstr "Seleccione el modo de pago por defecto cuando esta empresa actĂșa como proveedor." + +#. module: account_payment_partner +#: field:res.partner,supplier_payment_mode:0 +msgid "Supplier Payment Mode" +msgstr "Modo de pago de proveedor" + diff --git a/account_payment_partner/i18n/fr.po b/account_payment_partner/i18n/fr.po new file mode 100644 index 000000000..ca26e532d --- /dev/null +++ b/account_payment_partner/i18n/fr.po @@ -0,0 +1,57 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * account_payment_partner +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-06-09 23:22+0000\n" +"PO-Revision-Date: 2014-06-09 23:22+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_payment_partner +#: field:res.partner,customer_payment_mode:0 +msgid "Customer Payment Mode" +msgstr "" + +#. module: account_payment_partner +#: model:ir.model,name:account_payment_partner.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: account_payment_partner +#: model:ir.model,name:account_payment_partner.model_res_partner +msgid "Partner" +msgstr "" + +#. module: account_payment_partner +#: field:account.invoice,payment_mode_id:0 +msgid "Payment Mode" +msgstr "" + +#. module: account_payment_partner +#: help:res.partner,customer_payment_mode:0 +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: account_payment_partner +#: help:res.partner,supplier_payment_mode:0 +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: account_payment_partner +#: field:res.partner,supplier_payment_mode:0 +msgid "Supplier Payment Mode" +msgstr "" + +#. module: account_payment_partner +#: model:ir.model,name:account_payment_partner.model_payment_order_create +msgid "payment.order.create" +msgstr "" + diff --git a/account_payment_partner/models/__init__.py b/account_payment_partner/models/__init__.py new file mode 100644 index 000000000..c2c7b405d --- /dev/null +++ b/account_payment_partner/models/__init__.py @@ -0,0 +1,24 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Account Payment Partner module for OpenERP +# Copyright (C) 2014 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# 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 res_partner +from . import account_invoice diff --git a/account_payment_partner/model/account_invoice.py b/account_payment_partner/models/account_invoice.py similarity index 65% rename from account_payment_partner/model/account_invoice.py rename to account_payment_partner/models/account_invoice.py index 607cda29a..e14c0d956 100644 --- a/account_payment_partner/model/account_invoice.py +++ b/account_payment_partner/models/account_invoice.py @@ -20,37 +20,34 @@ # ############################################################################## -from openerp.osv import orm, fields +from openerp import models, fields, api -class account_invoice(orm.Model): +class AccountInvoice(models.Model): _inherit = 'account.invoice' - _columns = { - 'payment_mode_id': fields.many2one( - 'payment.mode', 'Payment Mode'), - } + payment_mode_id = fields.Many2one( + comodel_name='payment.mode', string="Payment Mode", + domain="[('type', '=', type)]") + @api.multi def onchange_partner_id( - self, cr, uid, ids, type, partner_id, date_invoice=False, + self, type, partner_id, date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False): - res = super(account_invoice, self).onchange_partner_id( - cr, uid, ids, type, partner_id, date_invoice=date_invoice, + res = super(AccountInvoice, self).onchange_partner_id( + type, partner_id, date_invoice=date_invoice, payment_term=payment_term, partner_bank_id=partner_bank_id, company_id=company_id) if partner_id: - partner = self.pool['res.partner'].browse(cr, uid, partner_id) + partner = self.env['res.partner'].browse(partner_id) if type == 'in_invoice': res['value']['payment_mode_id'] = \ - partner.supplier_payment_mode.id or False + partner.supplier_payment_mode.id elif type == 'out_invoice': res['value'].update({ - 'payment_mode_id': - partner.customer_payment_mode.id or False, - 'partner_bank_id': - partner.customer_payment_mode and - partner.customer_payment_mode.bank_id.id or False, - }) + 'payment_mode_id': partner.customer_payment_mode.id, + 'partner_bank_id': partner.customer_payment_mode.bank_id.id + }) else: res['value']['payment_mode_id'] = False return res diff --git a/account_payment_partner/model/payment_order_create.py b/account_payment_partner/models/payment_order_create.py similarity index 91% rename from account_payment_partner/model/payment_order_create.py rename to account_payment_partner/models/payment_order_create.py index ea8b1ccb3..3b9b536a7 100644 --- a/account_payment_partner/model/payment_order_create.py +++ b/account_payment_partner/models/payment_order_create.py @@ -23,17 +23,16 @@ from openerp.osv import orm -class payment_order_create(orm.TransientModel): +class PaymentOrderCreate(orm.TransientModel): _inherit = 'payment.order.create' def extend_payment_order_domain( self, cr, uid, payment_order, domain, context=None): - super(payment_order_create, self).extend_payment_order_domain( + super(PaymentOrderCreate, self).extend_payment_order_domain( cr, uid, payment_order, domain, context=context) domain += [ '|', '|', ('invoice', '=', False), ('invoice.payment_mode_id', '=', False), - ('invoice.payment_mode_id', '=', payment_order.mode.id) - ] + ('invoice.payment_mode_id', '=', payment_order.mode.id)] return True diff --git a/account_payment_partner/model/partner.py b/account_payment_partner/models/res_partner.py similarity index 60% rename from account_payment_partner/model/partner.py rename to account_payment_partner/models/res_partner.py index 4bfe4c787..5726da446 100644 --- a/account_payment_partner/model/partner.py +++ b/account_payment_partner/models/res_partner.py @@ -20,25 +20,23 @@ # ############################################################################## -from openerp.osv import orm, fields +from openerp import models, fields, api -class res_partner(orm.Model): +class ResPartner(models.Model): _inherit = 'res.partner' - _columns = { - 'supplier_payment_mode': fields.property( - 'payment.mode', type='many2one', relation='payment.mode', - string='Supplier Payment Mode', view_load=True, - help="Select the default payment mode for this supplier."), - 'customer_payment_mode': fields.property( - 'payment.mode', type='many2one', relation='payment.mode', - string='Customer Payment Mode', view_load=True, - help="Select the default payment mode for this customer."), - } + supplier_payment_mode = fields.Many2one( + 'payment.mode', string='Supplier Payment Mode', company_dependent=True, + domain="[('purchase_ok', '=', True)]", + help="Select the default payment mode for this supplier.") + customer_payment_mode = fields.Many2one( + 'payment.mode', string='Customer Payment Mode', company_dependent=True, + domain="[('sale_ok', '=', True)]", + help="Select the default payment mode for this customer.") - def _commercial_fields(self, cr, uid, context=None): - res = super(res_partner, self)._commercial_fields( - cr, uid, context=context) + @api.model + def _commercial_fields(self): + res = super(ResPartner, self)._commercial_fields() res += ['supplier_payment_mode', 'customer_payment_mode'] return res diff --git a/account_payment_partner/static/description/icon.png b/account_payment_partner/static/description/icon.png new file mode 100644 index 000000000..3a0328b51 Binary files /dev/null and b/account_payment_partner/static/description/icon.png differ diff --git a/account_payment_partner/view/account_invoice.xml b/account_payment_partner/view/account_invoice.xml deleted file mode 100644 index 0bfd2d1f5..000000000 --- a/account_payment_partner/view/account_invoice.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - account_payment_partner.invoice_form - account.invoice - - - - - - - - - - - account_payment_partner.invoice_supplier_form - account.invoice - - - - - - - - - - - diff --git a/account_payment_partner/views/account_invoice_view.xml b/account_payment_partner/views/account_invoice_view.xml new file mode 100644 index 000000000..534822ea9 --- /dev/null +++ b/account_payment_partner/views/account_invoice_view.xml @@ -0,0 +1,40 @@ + + + + + + + + + + account_payment_partner.invoice_form + account.invoice + + + + + + + + + + + account_payment_partner.invoice_supplier_form + account.invoice + + + + + + + + + + + diff --git a/account_payment_partner/view/partner.xml b/account_payment_partner/views/res_partner_view.xml similarity index 75% rename from account_payment_partner/view/partner.xml rename to account_payment_partner/views/res_partner_view.xml index 02eb8cc0f..3c6d670aa 100644 --- a/account_payment_partner/view/partner.xml +++ b/account_payment_partner/views/res_partner_view.xml @@ -9,23 +9,19 @@ - account_partner_payment.partner_form res.partner - + - + - diff --git a/account_payment_partner/model/__init__.py b/account_payment_partner/wizard/__init__.py similarity index 95% rename from account_payment_partner/model/__init__.py rename to account_payment_partner/wizard/__init__.py index 16ab8bc9e..f7107a63f 100644 --- a/account_payment_partner/model/__init__.py +++ b/account_payment_partner/wizard/__init__.py @@ -20,6 +20,4 @@ # ############################################################################## -from . import partner -from . import account_invoice from . import payment_order_create diff --git a/account_payment_partner/wizard/payment_order_create.py b/account_payment_partner/wizard/payment_order_create.py new file mode 100644 index 000000000..c26b7f9d9 --- /dev/null +++ b/account_payment_partner/wizard/payment_order_create.py @@ -0,0 +1,37 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Account Payment Partner module for OpenERP +# Copyright (C) 2014 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# 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 import models, api + + +class PaymentOrderCreate(models.TransientModel): + _inherit = 'payment.order.create' + + @api.model + def extend_payment_order_domain(self, payment_order, domain): + res = super(PaymentOrderCreate, self).extend_payment_order_domain( + payment_order, domain) + domain += ['|', '|', + ('invoice', '=', False), + ('invoice.payment_mode_id', '=', False), + ('invoice.payment_mode_id', '=', payment_order.mode.id)] + return res