~domsense/domsense-agilebg-addons/trunk

« back to all changes in this revision

Viewing changes to account_move_line_currency_rate/account_move_line.py

  • Committer: Lorenzo Battistini
  • Date: 2012-10-27 10:52:42 UTC
  • Revision ID: lorenzo.battistini@agilebg.com-20121027105242-skkt1bsl4ed7unxe
[DEL] every module, as they are developed for 6.1.
As soon as we port a module to 7.0, before 7.0 was released,
we'll put it here

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- coding: utf-8 -*-
2
 
##############################################################################
3
 
#    
4
 
#    Copyright (C) 2012 Agile Business Group sagl (<http://www.agilebg.com>)
5
 
#    Copyright (C) 2012 Domsense srl (<http://www.domsense.com>)
6
 
#    All Rights Reserved
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 published
10
 
#    by the Free Software Foundation, either version 3 of the License, or
11
 
#    (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 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
 
 
25
 
class account_move_line(osv.osv):
26
 
 
27
 
    _inherit = 'account.move.line'
28
 
    
29
 
    _columns = {
30
 
        'currency_rate_used': fields.float('Rate Used', digits=(12,6), readonly=True),
31
 
        }
32
 
    
33
 
    def create(self, cr, uid, vals, context=None, check=True):
34
 
        if context is None:
35
 
            context = {}
36
 
        if vals.get('amount_currency', False) and not context.get('currency_rate_used', False):
37
 
            print "account_move_line_currency_rate - Warning: writing 'amount_currency' but context does not contain 'currency_rate_used'"
38
 
        elif vals.get('amount_currency', False) and context.get('currency_rate_used', False):
39
 
            vals.update({'currency_rate_used': context['currency_rate_used']})
40
 
        res = super(account_move_line, self).create(cr, uid, vals, context=context, check=check)
41
 
        #context['currency_rate_used'] = False
42
 
        return res
43
 
    
44
 
    def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
45
 
        if context is None:
46
 
            context = {}
47
 
        if vals.get('amount_currency', False) and not context.get('currency_rate_used', False):
48
 
            print "account_move_line_currency_rate - Warning: writing 'amount_currency' but context does not contain 'currency_rate_used'"
49
 
        elif vals.get('amount_currency', False) and context.get('currency_rate_used', False):
50
 
            vals.update({'currency_rate_used': context['currency_rate_used']})
51
 
        res = super(account_move_line, self).write(
52
 
            cr, uid, ids, vals, context=context, check=check, update_check=update_check)
53
 
        #context['currency_rate_used'] = False
54
 
        return res
55
 
 
56
 
account_move_line()