~vauxoo/addons-vauxoo/7.0-user_story-rev4-kty

« back to all changes in this revision

Viewing changes to stock_location_code/stock.py

  • Committer: Julio Serna
  • Date: 2012-09-13 16:12:06 UTC
  • mto: This revision was merged to the branch mainline in revision 445.
  • Revision ID: julio@vauxoo.com-20120913161206-vsv4k6cz00zmxk1u
[INIT] added module stock_location_code

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- encoding: utf-8 -*-
 
2
###########################################################################
 
3
#    Module Writen to OpenERP, Open Source Management Solution
 
4
#
 
5
#    Copyright (c) 2012 Vauxoo - http://www.vauxoo.com
 
6
#    All Rights Reserved.
 
7
#    info@vauxoo.com
 
8
############################################################################
 
9
#    Coded by: julio (julio@vauxoo.com)
 
10
############################################################################
 
11
#
 
12
#    This program is free software: you can redistribute it and/or modify
 
13
#    it under the terms of the GNU Affero General Public License as
 
14
#    published by the Free Software Foundation, either version 3 of the
 
15
#    License, or (at your option) any later version.
 
16
#
 
17
#    This program is distributed in the hope that it will be useful,
 
18
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
19
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
20
#    GNU Affero General Public License for more details.
 
21
#
 
22
#    You should have received a copy of the GNU Affero General Public License
 
23
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
24
#
 
25
##############################################################################
 
26
 
 
27
from osv import osv, fields
 
28
import re
 
29
 
 
30
class stock_location(osv.osv):
 
31
    _inherit = 'stock.location'
 
32
    _columns = {
 
33
        'code' : fields.char('Code', size=64)
 
34
    }
 
35
    
 
36
    def name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=100):
 
37
        if not args:
 
38
            args = []
 
39
        if name:
 
40
            ids = self.search(cr, user, [('code','=',name)]+ args, limit=limit, context=context)
 
41
            if not ids:
 
42
                ids = set()
 
43
                ids.update(self.search(cr, user, args + [('code',operator,name)], limit=limit, context=context))
 
44
                ids.update(map(lambda a: a[0], super(stock_location, self).name_search(cr, user, name=name, args=args, operator=operator, context=context, limit=limit)))
 
45
                ids = list(ids)
 
46
        else:
 
47
            ids = self.search(cr, user, args, limit=limit, context=context)
 
48
        result = self.name_get(cr, user, ids, context=context)
 
49
        return result
 
50
stock_location()