← Back to team overview

openerp-community-reviewer team mailing list archive

[Merge] lp:~therp-nl/account-invoicing/7.0-add_account_invoice_partner into lp:account-invoicing

 

Stefan Rijnhart (Therp) has proposed merging lp:~therp-nl/account-invoicing/7.0-add_account_invoice_partner into lp:account-invoicing.

Requested reviews:
  Pedro Manuel Baeza (pedro.baeza): code review and test
  Account Core Editors (account-core-editors)

For more details, see:
https://code.launchpad.net/~therp-nl/account-invoicing/7.0-add_account_invoice_partner/+merge/180694
-- 
https://code.launchpad.net/~therp-nl/account-invoicing/7.0-add_account_invoice_partner/+merge/180694
Your team Account Core Editors is requested to review the proposed merge of lp:~therp-nl/account-invoicing/7.0-add_account_invoice_partner into lp:account-invoicing.
=== added directory 'account_invoice_partner'
=== added file 'account_invoice_partner/__init__.py'
--- account_invoice_partner/__init__.py	1970-01-01 00:00:00 +0000
+++ account_invoice_partner/__init__.py	2013-08-19 09:50:22 +0000
@@ -0,0 +1,1 @@
+import model

=== added file 'account_invoice_partner/__openerp__.py'
--- account_invoice_partner/__openerp__.py	1970-01-01 00:00:00 +0000
+++ account_invoice_partner/__openerp__.py	2013-08-19 09:50:22 +0000
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    This module copyright (C) 2012-2013 Therp BV (<http://therp.nl>).
+#
+#    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" : "Automatically select invoicing partner on invoice",
+    "version" : "0.1",
+    "author" : "Therp BV",
+    "category": 'Accounting & Finance',
+    "description": """
+On an invoice, when selecting that is not of type 'invoice', replace
+the partner by an invoice contact if found.
+    """,
+    'website': 'https://launchpad.net/account-invoicing',
+    'depends' : ['account'],
+}

=== added directory 'account_invoice_partner/model'
=== added file 'account_invoice_partner/model/__init__.py'
--- account_invoice_partner/model/__init__.py	1970-01-01 00:00:00 +0000
+++ account_invoice_partner/model/__init__.py	2013-08-19 09:50:22 +0000
@@ -0,0 +1,1 @@
+import account_invoice

=== added file 'account_invoice_partner/model/account_invoice.py'
--- account_invoice_partner/model/account_invoice.py	1970-01-01 00:00:00 +0000
+++ account_invoice_partner/model/account_invoice.py	2013-08-19 09:50:22 +0000
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    This module copyright (C) 2013 Therp BV (<http://therp.nl>).
+#
+#    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.osv import orm
+
+
+class accountInvoice(orm.Model):
+    _inherit = 'account.invoice'
+
+    def onchange_partner_id(
+            self, cr, uid, ids, type, partner_id,
+            date_invoice=False, payment_term=False,
+            partner_bank_id=False, company_id=False):
+        """
+        Replace the selected partner with the preferred invoice contact
+        """
+        if partner_id:
+            partner_invoice_id = self.pool.get('res.partner').address_get(
+                cr, uid, [partner_id], adr_pref=['invoice'])['invoice']
+            if partner_invoice_id != partner_id:
+                result = self.onchange_partner_id(
+                    cr, uid, ids, type, partner_invoice_id,
+                    date_invoice=date_invoice, payment_term=payment_term,
+                    partner_bank_id=partner_bank_id, company_id=company_id)
+                result['value']['partner_id'] = partner_invoice_id
+                return result
+        return super(accountInvoice, self).onchange_partner_id(
+            cr, uid, ids, type, partner_id,
+            date_invoice=date_invoice, payment_term=payment_term,
+            partner_bank_id=partner_bank_id, company_id=company_id)


References