~unifield-team/unifield-wm/us-826

« back to all changes in this revision

Viewing changes to account_override/account_move_line.py

  • Committer: chloups208
  • Date: 2011-08-17 15:23:33 UTC
  • mto: This revision was merged to the branch mainline in revision 243.
  • Revision ID: chloups208@chloups208-laptop-20110817152333-c8w85lxysrbbpeyd
[UF-383] first commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
2
 
#-*- encoding:utf-8 -*-
3
 
##############################################################################
4
 
#
5
 
#    OpenERP, Open Source Management Solution
6
 
#    Copyright (C) 2011 TeMPO Consulting, MSF. All Rights Reserved
7
 
#    Developer: Olivier DOSSMANN
8
 
#
9
 
#    This program is free software: you can redistribute it and/or modify
10
 
#    it under the terms of the GNU Affero General Public License as
11
 
#    published by the Free Software Foundation, either version 3 of the
12
 
#    License, or (at your option) any later version.
13
 
#
14
 
#    This program is distributed in the hope that it will be useful,
15
 
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
#    GNU Affero General Public License for more details.
18
 
#
19
 
#    You should have received a copy of the GNU Affero General Public License
20
 
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 
#
22
 
##############################################################################
23
 
 
24
 
from osv import osv
25
 
from osv import fields
26
 
import re
27
 
 
28
 
class account_move_line(osv.osv):
29
 
    _inherit = 'account.move.line'
30
 
    
31
 
    def join_without_redundancy(self, text='', string=''):
32
 
        """
33
 
        Add string @ begining of text like that:
34
 
            mystring1 - mysupertext
35
 
        
36
 
        If mystring1 already exist, increment 1:
37
 
            mystring1 - mysupertext
38
 
        give:
39
 
            mystring2 - mysupertext
40
 
 
41
 
        """
42
 
        result = ''.join([string, '1 - ', text])
43
 
        if text == '' or string == '':
44
 
            return result
45
 
        pattern = re.compile('\%s([0-9]*) - ' % string)
46
 
        m = re.match(pattern, text)
47
 
        if m and m.groups():
48
 
            number = m.groups() and m.groups()[0]
49
 
            replacement = string + str(int(number) + 1) + ' - '
50
 
            result = re.sub(pattern, replacement, text, 1)
51
 
        return result
52
 
 
53
 
    _columns = {
54
 
        'source_date': fields.date('Source date', help="Date used for FX rate re-evaluation"),
55
 
        'move_state': fields.related('move_id', 'state', string="Move state", type="selection", selection=[('draft', 'Draft'), ('posted', 'Posted')], 
56
 
            help="This indicates the state of the Journal Entry."),
57
 
    }
58
 
 
59
 
account_move_line()
60
 
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: