Merge lp:~vauxoo/openobject-addons/trunk-added_filter_by_vat-dev_luis into lp:openobject-addons

Proposed by Luis Torres - http://www.vauxoo.com
Status: Needs review
Proposed branch: lp:~vauxoo/openobject-addons/trunk-added_filter_by_vat-dev_luis
Merge into: lp:openobject-addons
Diff against target: 73 lines (+54/-0)
2 files modified
base_vat/base_vat.py (+44/-0)
base_vat/base_vat_view.xml (+10/-0)
To merge this branch: bzr merge lp:~vauxoo/openobject-addons/trunk-added_filter_by_vat-dev_luis
Reviewer Review Type Date Requested Status
Julio Serna-http://www.vauxoo.com (community) Approve
Isaac López Zúñiga Pending
Moisés López - http://www.vauxoo.com Pending
Review via email: mp+195459@code.launchpad.net

Description of the change

Was added option by filter by partne, with vat.

You can search by [VAT] name_partner

To post a comment you must log in.
Revision history for this message
Julio Serna-http://www.vauxoo.com (hearthebreaker) wrote :

testing search by vat or name of partner from partners, invoices, sales, purchase models
testing search by vat when partner is a contact

work fine.

Revision history for this message
Julio Serna-http://www.vauxoo.com (hearthebreaker) :
review: Approve

Unmerged revisions

8978. By Luis Torres - http://www.vauxoo.com

[IMP][base_vat]Was added option to search by vat of partner

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'base_vat/base_vat.py'
2--- base_vat/base_vat.py 2013-05-28 10:45:00 +0000
3+++ base_vat/base_vat.py 2013-11-16 01:02:44 +0000
4@@ -248,5 +248,49 @@
5 return False
6 return check == int(vat[8])
7
8+ def name_search(self, cr, user, name, args=None, operator='ilike',
9+ context=None, limit=100):
10+ if not args:
11+ args = []
12+ if context is None:
13+ context = {}
14+ if name:
15+ ptrn_name = re.compile('(\[(.*?)\])')
16+ res_name = ptrn_name.search(name)
17+ if res_name:
18+ name = name.replace('['+res_name.group(2)+'] ', '')
19+ partner_search = super(res_partner, self).name_search(cr, user,
20+ name, args, operator, context, limit)
21+ ids = [partner[0] for partner in partner_search]
22+ if not ids:
23+ ids = self.search(cr, user, [('vat', operator, name)]+ args,
24+ limit=limit, context=context)
25+ if not ids:
26+ ptrn = re.compile('(\[(.*?)\])')
27+ res = ptrn.search(name)
28+ if res:
29+ ids = self.search(cr, user,
30+ [('vat', operator, res.group(2))]+ args, limit=limit,
31+ context=context)
32+ return self.name_get(cr, user, ids, context=context)
33+ else:
34+ return super(res_partner, self).name_search(cr, user,
35+ name, args, operator, context, limit)
36+
37+
38+ def name_get(self, cr, uid, ids, context=None):
39+ if isinstance(ids, (list, tuple)) and not len(ids):
40+ return []
41+ if isinstance(ids, (long, int)):
42+ ids = [ids]
43+ res_name = super(res_partner, self).name_get(cr, uid, ids, context)
44+ res = []
45+ for record in res_name:
46+ partner = self.browse(cr, uid, record[0], context=context)
47+ name = record[1]
48+ if partner.vat:
49+ name = '['+partner.vat+'] '+name
50+ res.append((record[0], name))
51+ return res
52
53 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
54
55=== modified file 'base_vat/base_vat_view.xml'
56--- base_vat/base_vat_view.xml 2012-11-29 22:26:45 +0000
57+++ base_vat/base_vat_view.xml 2013-11-16 01:02:44 +0000
58@@ -29,6 +29,16 @@
59 </field>
60 </record>
61
62+ <record id="view_res_partner_filter_inherit_vat" model="ir.ui.view">
63+ <field name="name">view.res.partner.filter.inherit.vat</field>
64+ <field name="model">res.partner</field>
65+ <field name="inherit_id" ref="base.view_res_partner_filter"/>
66+ <field name="arch" type="xml">
67+ <xpath expr="//field[@name='name']" position="after">
68+ <field name="vat" string="VAT"/>
69+ </xpath>
70+ </field>
71+ </record>
72 </data>
73 </openerp>
74

Subscribers

People subscribed via source and target branches

to all changes: