~laetitia-gangloff/acsone-addons/hr_utilization_group_by_report

« back to all changes in this revision

Viewing changes to project_code/project_code.py

  • Committer: Stéphane Bidoul
  • Date: 2012-08-31 16:18:33 UTC
  • Revision ID: stephane.bidoul@acsone.eu-20120831161833-79qfku4zqiy2qgon
First commit of project_code

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
##############################################################################
 
3
#
 
4
# Author: Stéphane Bidoul
 
5
# Copyright (c) 2012 Acsone SA/NV (http://www.acsone.eu)
 
6
# All Right Reserved
 
7
#
 
8
# WARNING: This program as such is intended to be used by professional
 
9
# programmers who take the whole responsibility of assessing all potential
 
10
# consequences resulting from its eventual inadequacies and bugs
 
11
# End users who are looking for a ready-to-use solution with commercial
 
12
# guarantees and support are strongly advised to contract a Free Software
 
13
# Service Company
 
14
#
 
15
# This program is Free Software; you can redistribute it and/or
 
16
# modify it under the terms of the GNU General Public License
 
17
# as published by the Free Software Foundation; either version 2
 
18
# of the License, or (at your option) any later version.
 
19
#
 
20
# This program is distributed in the hope that it will be useful,
 
21
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
22
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
23
# GNU General Public License for more details.
 
24
#
 
25
# You should have received a copy of the GNU General Public License
 
26
# along with this program; if not, write to the Free Software
 
27
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
28
#
 
29
##############################################################################
 
30
 
 
31
from osv import osv
 
32
 
 
33
class project(osv.osv):
 
34
    _inherit = "project.project"
 
35
 
 
36
    def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
 
37
        if not args:
 
38
            args = []
 
39
        args = args[:]
 
40
        ids = []
 
41
        if name:
 
42
            ids = self.search(cr, uid, [('code', '=like', name+"%")] + args, limit=limit)
 
43
            if not ids:
 
44
                ids = self.search(cr, uid, [('name', operator, name)] + args, limit=limit)
 
45
        else:
 
46
            ids = self.search(cr, uid, args, context=context, limit=limit)
 
47
        return self.name_get(cr, uid, ids, context=context)
 
48
    
 
49
    def name_get(self, cr, uid, ids, context=None):
 
50
        if not ids:
 
51
            return []
 
52
        reads = self.read(cr, uid, ids, ['name', 'code'], context=context)
 
53
        res = []
 
54
        for record in reads:
 
55
            name = record['name']
 
56
            if record['code']:
 
57
                name = record['code'] + ' - ' + name
 
58
            res.append((record['id'], name))
 
59
        return res
 
60
    
 
61
project()
 
62
 
 
63
class account_analytic_account(osv.osv):
 
64
    _inherit = 'account.analytic.account'
 
65
    
 
66
    def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
 
67
        if not args:
 
68
            args = []
 
69
        args = args[:]
 
70
        ids = []
 
71
        if name:
 
72
            ids = self.search(cr, uid, [('code', '=like', name+"%")] + args, limit=limit)
 
73
            if not ids:
 
74
                ids = self.search(cr, uid, [('name', operator, name)] + args, limit=limit)
 
75
        else:
 
76
            ids = self.search(cr, uid, args, context=context, limit=limit)
 
77
        return self.name_get(cr, uid, ids, context=context)
 
78
    
 
79
    def name_get(self, cr, uid, ids, context=None):
 
80
        if not ids:
 
81
            return []
 
82
        reads = self.read(cr, uid, ids, ['name', 'code'], context=context)
 
83
        res = []
 
84
        for record in reads:
 
85
            name = record['name']
 
86
            if record['code']:
 
87
                name = record['code'] + ' - ' + name
 
88
            res.append((record['id'], name))
 
89
        return res
 
90
 
 
91
account_analytic_account()
 
92
 
 
93
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: