~sandi-dirntis/openerpsl/20140717_1

« back to all changes in this revision

Viewing changes to clause/account_invoice.py

  • Committer: Aleksander Dirntiš
  • Date: 2012-12-21 08:15:36 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: sandi.dirntis@mentis.si-20121221081536-11qa2z0k28irzagt
[ADD] module "Clause"

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
##############################################################################
 
3
#
 
4
#    OpenERP, Open Source Management Solution
 
5
#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
 
6
#    Copyright (C) 2012 Mentis d.o.o.
 
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 osv import fields, osv
 
24
from tools.translate import _
 
25
 
 
26
class account_invoice(osv.osv):
 
27
    _inherit = "account.invoice"
 
28
 
 
29
    def onchange_partner_id(self, cr, uid, ids, type, partner_id, date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False):
 
30
        result = super(account_invoice, self).onchange_partner_id(cr, uid, ids, type, partner_id, date_invoice, payment_term, partner_bank_id, company_id)
 
31
        if 'out_invoice' in type or 'out_refund' in type:
 
32
            clause_id = False;
 
33
            partner = self.pool.get('res.partner').browse(cr, uid, [partner_id])[0] 
 
34
            if partner.default_clause:
 
35
                clause_id = partner.default_clause.id
 
36
            else:
 
37
                if result['value']['fiscal_position']:
 
38
                    fiscal_position = self.pool.get('account.fiscal.position').browse(cr, uid, [result['value']['fiscal_position']])[0]                    
 
39
                    if fiscal_position.default_clause:
 
40
                        clause_id = fiscal_position.default_clause.id
 
41
            if clause_id:
 
42
                result['value']['clause_ids'] = [clause_id]
 
43
            else:
 
44
                result['value']['clause_ids'] = []
 
45
        return result
 
46
    
 
47
    _columns = {
 
48
        'clause_ids': fields.many2many('clause', 'account_invoice_clause', 'invoice_id', 'clause_id', 'Clauses'),
 
49
    }
 
50
 
 
51
account_invoice()
 
 
b'\\ No newline at end of file'