Merge lp:~therp-nl/therp-addons/7.0-partner_name_dutch_use_refactoring into lp:~therp-nl/therp-addons/7.0

Proposed by Holger Brunn (Therp)
Status: Merged
Merged at revision: 104
Proposed branch: lp:~therp-nl/therp-addons/7.0-partner_name_dutch_use_refactoring
Merge into: lp:~therp-nl/therp-addons/7.0
Diff against target: 68 lines (+28/-30)
1 file modified
partner_name_dutch/model/res_partner.py (+28/-30)
To merge this branch: bzr merge lp:~therp-nl/therp-addons/7.0-partner_name_dutch_use_refactoring
Reviewer Review Type Date Requested Status
Stefan Rijnhart (Opener) (community) Approve
Review via email: mp+227153@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Stefan Rijnhart (Opener) (stefan-opener) wrote :

tnx!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'partner_name_dutch/model/res_partner.py'
2--- partner_name_dutch/model/res_partner.py 2013-10-01 12:00:28 +0000
3+++ partner_name_dutch/model/res_partner.py 2014-07-17 08:31:10 +0000
4@@ -25,36 +25,34 @@
5
6 class res_partner(Model):
7 _inherit = 'res.partner'
8- _name_fields = ['firstname', 'lastname', 'initials', 'infix']
9-
10- def _compute_name_custom(self, cursor, uid, ids, fname, arg,
11- context=None):
12- if context is None:
13- context = {}
14-
15+
16+ def _prepare_name_custom(self, cursor, uid, partner, context=None):
17 name_template = Template(
18- context.get(
19- 'name_format',
20- "${firstname or initials or ''}"
21- "${(firstname or initials) and ' ' or ''}"
22- "${infix or ''}${infix and ' ' or ''}${lastname}"))
23-
24- result = {}
25- for rec in self.read(cursor, uid, ids, self._name_fields):
26- result[rec['id']] = name_template.render(**rec)
27- return result
28-
29- def _write_name(self, cursor, uid, partner_id, field_name, field_value,
30- arg, context=None):
31- return super(res_partner, self)._write_name(
32- cursor, uid, partner_id, field_name, field_value, arg,
33- context=context)
34+ context.get(
35+ 'name_format',
36+ "${p.firstname or p.initials or ''}"
37+ "${(p.firstname or p.initials) and ' ' or ''}"
38+ "${p.infix or ''}${p.infix and ' ' or ''}${p.lastname}"))
39+
40+ return name_template.render(p=partner)
41
42 _columns = {
43- 'name': fields.function(_compute_name_custom, string="Name",
44- type="char", store=True,
45- select=True, readonly=True,
46- fnct_inv=_write_name),
47- 'initials': fields.char('Initials', size=8),
48- 'infix': fields.char('Infix', size=32),
49- }
50+ 'initials': fields.char('Initials', size=8),
51+ 'infix': fields.char('Infix', size=32),
52+ }
53+
54+ def _register_hook(self, cr):
55+ #if firstname_display_name_trigger is installed, add our keys to
56+ #the trigger
57+ if hasattr(self, '_display_name_store_triggers'):
58+ self._display_name_store_triggers[self._name][1].extend(
59+ ['infix', 'initials'])
60+ for trigger in self.pool._store_function[self._name]:
61+ if trigger[0] != self._name or trigger[1] != 'display_name':
62+ continue
63+ self.pool._store_function[self._name].append(
64+ trigger[:3] +
65+ ((trigger[3] + ('infix', 'initials')), ) +
66+ trigger[4:])
67+ self.pool._store_function[self._name].remove(trigger)
68+ break

Subscribers

People subscribed via source and target branches

to all changes: