diff --git a/account_voucher_default_amount/__init__.py b/account_voucher_default_amount/__init__.py new file mode 100644 index 0000000..d9e36db --- /dev/null +++ b/account_voucher_default_amount/__init__.py @@ -0,0 +1,3 @@ +# -*- encoding: utf-8 -*- + +from . import account_voucher diff --git a/account_voucher_default_amount/__openerp__.py b/account_voucher_default_amount/__openerp__.py new file mode 100644 index 0000000..6b626ba --- /dev/null +++ b/account_voucher_default_amount/__openerp__.py @@ -0,0 +1,43 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Account Voucher Default Amount module for Odoo +# Copyright (C) 2015 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 . +# +############################################################################## + + +{ + 'name': 'Account Voucher Default Amount', + 'version': '0.1', + 'category': 'Accounting & Finance', + 'license': 'AGPL-3', + 'summary': 'Set a default amount on Customer Payments', + 'description': """ +Account Voucher Default Amount +============================== + +With this module, when you select a Customer in a Customer Payment, the Amount will be set by default to the total Open Balance. + +This module has been written by Alexis de Lattre from Akretion . + """, + 'author': 'Akretion', + 'website': 'http://www.akretion.com', + 'depends': ['account_voucher'], + 'data': [], + 'installable': True, +} diff --git a/account_voucher_default_amount/account_voucher.py b/account_voucher_default_amount/account_voucher.py new file mode 100644 index 0000000..ba4838f --- /dev/null +++ b/account_voucher_default_amount/account_voucher.py @@ -0,0 +1,42 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Account Voucher Default Amount module for Odoo +# Copyright (C) 2015 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 + + +class AccountVoucher(models.Model): + _inherit = 'account.voucher' + + def onchange_partner_id( + self, cr, uid, ids, partner_id, journal_id, amount, + currency_id, ttype, date, context=None): + res = super(AccountVoucher, self).onchange_partner_id( + cr, uid, ids, partner_id, journal_id, amount, + currency_id, ttype, date, context=context) + if ( + partner_id and not amount and ttype == 'receipt' + and res.get('value') and res['value'].get('line_cr_ids')): + total_open_bal = 0.0 + for line in res['value']['line_cr_ids']: + total_open_bal += line['amount_unreconciled'] + res['value']['amount'] = total_open_bal + return res