~banking-addons-team/banking-addons/github-7.0

« back to all changes in this revision

Viewing changes to account_payment_partner/model/account_invoice.py

  • Committer: Stefan Rijnhart
  • Author(s): unknown
  • Date: 2014-06-25 09:19:35 UTC
  • mfrom: (225.1.23)
  • Revision ID: git-v1:7f93d703e87a5254b11a9900b0f0b35b49ec522c
1) Add 4 new modules to handle payment mode and bank accounts:
    - account_payment_partner
    - account_payment_sale
    - account_payment_sale_stock
    - account_payment_purchase

2) Filter the selection of invoices per payment mode.
    Add active field on payment.mode and payment.mode.type.
    Add menu entry for Payment Types.

3) Small code clean-up in the SEPA modules (views, 'state' field on SEPA file objects)

4) Code enhancement in the file account_banking_payment/model/account_payment.py (PEP-8, _prepare_* functions, support for payment lines with move_line_id = False)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- encoding: utf-8 -*-
 
2
##############################################################################
 
3
#
 
4
#    Account Payment Partner module for OpenERP
 
5
#    Copyright (C) 2014 Akretion (http://www.akretion.com)
 
6
#    @author Alexis de Lattre <alexis.delattre@akretion.com>
 
7
#
 
8
#    This program is free software: you can redistribute it and/or modify
 
9
#    it under the terms of the GNU Affero General Public License as
 
10
#    published by the Free Software Foundation, either version 3 of the
 
11
#    License, or (at your option) any later version.
 
12
#
 
13
#    This program is distributed in the hope that it will be useful,
 
14
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
#    GNU Affero General Public License for more details.
 
17
#
 
18
#    You should have received a copy of the GNU Affero General Public License
 
19
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
20
#
 
21
##############################################################################
 
22
 
 
23
from openerp.osv import orm, fields
 
24
 
 
25
 
 
26
class account_invoice(orm.Model):
 
27
    _inherit = 'account.invoice'
 
28
 
 
29
    _columns = {
 
30
        'payment_mode_id': fields.many2one(
 
31
            'payment.mode', 'Payment Mode'),
 
32
        }
 
33
 
 
34
    def onchange_partner_id(
 
35
            self, cr, uid, ids, type, partner_id, date_invoice=False,
 
36
            payment_term=False, partner_bank_id=False, company_id=False):
 
37
        res = super(account_invoice, self).onchange_partner_id(
 
38
            cr, uid, ids, type, partner_id, date_invoice=date_invoice,
 
39
            payment_term=payment_term, partner_bank_id=partner_bank_id,
 
40
            company_id=company_id)
 
41
        if partner_id:
 
42
            partner = self.pool['res.partner'].browse(cr, uid, partner_id)
 
43
            if type == 'in_invoice':
 
44
                res['value']['payment_mode_id'] = \
 
45
                    partner.supplier_payment_mode.id or False
 
46
            elif type == 'out_invoice':
 
47
                res['value'].update({
 
48
                    'payment_mode_id':
 
49
                    partner.customer_payment_mode.id or False,
 
50
                    'partner_bank_id':
 
51
                    partner.customer_payment_mode and
 
52
                    partner.customer_payment_mode.bank_id.id or False,
 
53
                    })
 
54
        else:
 
55
            res['value']['payment_mode_id'] = False
 
56
        return res