From 8ea922fb672e9ae37aacf0ee9e998201895355d7 Mon Sep 17 00:00:00 2001 From: ced <> Date: Tue, 27 Nov 2007 15:43:44 +0000 Subject: [PATCH] Add amount to be paid on supplier invoice bzr revid: ced-c4bf4a6695b38c003fcc2be2a3cac57093469218 --- addons/account_payment/__init__.py | 1 + addons/account_payment/__terp__.py | 3 +- addons/account_payment/account_invoice.py | 56 +++++++++++++++++++ .../account_payment/account_invoice_view.xml | 16 ++++++ 4 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 addons/account_payment/account_invoice.py create mode 100644 addons/account_payment/account_invoice_view.xml diff --git a/addons/account_payment/__init__.py b/addons/account_payment/__init__.py index 6cd57f2af05..66340bca7d7 100644 --- a/addons/account_payment/__init__.py +++ b/addons/account_payment/__init__.py @@ -33,3 +33,4 @@ import payment import wizard import account_move_line +import account_invoice diff --git a/addons/account_payment/__terp__.py b/addons/account_payment/__terp__.py index 064b0db2146..12ae6b640ef 100644 --- a/addons/account_payment/__terp__.py +++ b/addons/account_payment/__terp__.py @@ -12,7 +12,8 @@ """, "demo_xml": [], "update_xml": ["payment_wizard.xml", "payment_view.xml", - "payment_workflow.xml", "payment_sequence.xml"], + "payment_workflow.xml", "payment_sequence.xml", + "account_invoice_view.xml",], "active": False, "installable": True } diff --git a/addons/account_payment/account_invoice.py b/addons/account_payment/account_invoice.py new file mode 100644 index 00000000000..acbd80d4041 --- /dev/null +++ b/addons/account_payment/account_invoice.py @@ -0,0 +1,56 @@ +############################################################################## +# +# Copyright (c) 2007 TINY SPRL. (http://tiny.be) All Rights Reserved. +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +from osv import fields, osv +from mx import DateTime + +class Invoice(osv.osv): + _inherit = 'account.invoice' + + def _amount_to_pay(self, cursor, user, ids, name, args, context=None): + '''Return the amount still to pay regarding all the payment orders''' + if not ids: + return {} + res = {} + for invoice in self.browse(cursor, user, ids, context=context): + res[invoice.id] = 0.0 + if invoice.move_id: + for line in invoice.move_id.line_id: + if not line.date_maturity or \ + DateTime.strptime(line.date_maturity, '%Y-%m-%d') \ + < DateTime.now(): + res[invoice.id] += line.amount_to_pay + return res + + _columns = { + 'amount_to_pay': fields.function(_amount_to_pay, method=True, + type='float', string='Amount to be paid', + help='The amount which should be paid at the current date\n' \ + 'minus the amount which is already in payment order'), + } + +Invoice() diff --git a/addons/account_payment/account_invoice_view.xml b/addons/account_payment/account_invoice_view.xml new file mode 100644 index 00000000000..a3fabcfed00 --- /dev/null +++ b/addons/account_payment/account_invoice_view.xml @@ -0,0 +1,16 @@ + + + + + account.invoice.supplier.form.inherit + account.invoice + form + + + + + + +