Merge lp:~therp-nl/banking-addons/ba70-partner_wizard_fixes into lp:banking-addons

Proposed by Stefan Rijnhart (Opener)
Status: Merged
Merged at revision: 180
Proposed branch: lp:~therp-nl/banking-addons/ba70-partner_wizard_fixes
Merge into: lp:banking-addons
Diff against target: 167 lines (+53/-14)
5 files modified
account_banking/banking_import_transaction.py (+3/-3)
account_banking/wizard/banking_transaction_wizard.py (+4/-0)
account_banking/wizard/banking_transaction_wizard.xml (+2/-1)
account_banking/wizard/link_partner.py (+32/-7)
account_banking/wizard/link_partner.xml (+12/-3)
To merge this branch: bzr merge lp:~therp-nl/banking-addons/ba70-partner_wizard_fixes
Reviewer Review Type Date Requested Status
Guewen Baconnier @ Camptocamp code review, no test Approve
Holger Brunn (Therp) Approve
Review via email: mp+176785@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Holger Brunn (Therp) (hbrunn) wrote :

what is the advantage of ast's literal_eval over OpenERP's const_eval from safe_eval.py?

review: Needs Information
Revision history for this message
Stefan Rijnhart (Opener) (stefan-opener) wrote :

Nothing I guess. Do you want me to refactor? I was not aware of const_eval but using standard Python functionality seems alright to me.

Revision history for this message
Holger Brunn (Therp) (hbrunn) wrote :

Thanks for your explanation. No need to refactor imho, I just was curious.

review: Approve
Revision history for this message
Guewen Baconnier @ Camptocamp (gbaconnier-c2c) wrote :

LGTM

review: Approve (code review, no test)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'account_banking/banking_import_transaction.py'
2--- account_banking/banking_import_transaction.py 2013-06-26 21:14:41 +0000
3+++ account_banking/banking_import_transaction.py 2013-07-24 21:03:27 +0000
4@@ -1299,9 +1299,9 @@
5 'exchange_rate': fields.float('exchange_rate'),
6 'transferred_amount': fields.float('transferred_amount'),
7 'message': fields.char('message', size=1024),
8- 'remote_owner': fields.char('remote_owner', size=24),
9- 'remote_owner_address': fields.char('remote_owner_address', size=24),
10- 'remote_owner_city': fields.char('remote_owner_city', size=24),
11+ 'remote_owner': fields.char('remote_owner', size=128),
12+ 'remote_owner_address': fields.char('remote_owner_address', size=256),
13+ 'remote_owner_city': fields.char('remote_owner_city', size=128),
14 'remote_owner_postalcode': fields.char('remote_owner_postalcode', size=24),
15 'remote_owner_country_code': fields.char('remote_owner_country_code', size=24),
16 'remote_owner_custno': fields.char('remote_owner_custno', size=24),
17
18=== modified file 'account_banking/wizard/banking_transaction_wizard.py'
19--- account_banking/wizard/banking_transaction_wizard.py 2013-06-26 21:14:41 +0000
20+++ account_banking/wizard/banking_transaction_wizard.py 2013-07-24 21:03:27 +0000
21@@ -314,6 +314,10 @@
22 'ref': fields.related(
23 'statement_line_id', 'ref', type='char', size=32,
24 string="Reference", readonly=True),
25+ 'message': fields.related(
26+ 'statement_line_id', 'import_transaction_id', 'message',
27+ type='char', size=1024,
28+ string="Message", readonly=True),
29 'partner_id': fields.related(
30 'statement_line_id', 'partner_id',
31 type='many2one', relation='res.partner',
32
33=== modified file 'account_banking/wizard/banking_transaction_wizard.xml'
34--- account_banking/wizard/banking_transaction_wizard.xml 2013-06-26 21:14:41 +0000
35+++ account_banking/wizard/banking_transaction_wizard.xml 2013-07-24 21:03:27 +0000
36@@ -17,8 +17,9 @@
37 <separator string="Transaction data" colspan="4"/>
38 <field name="partner_id"/>
39 <field name="date"/>
40+ <field name="amount"/>
41 <field name="ref"/>
42- <field name="amount"/>
43+ <field name="message" colspan="4"/>
44 </group>
45
46 <!-- (semi-) automatic matching and selection -->
47
48=== modified file 'account_banking/wizard/link_partner.py'
49--- account_banking/wizard/link_partner.py 2013-05-01 14:25:04 +0000
50+++ account_banking/wizard/link_partner.py 2013-07-24 21:03:27 +0000
51@@ -22,6 +22,7 @@
52 from openerp.osv import orm, fields
53 from openerp.tools.translate import _
54 from openerp.addons.account_banking.wizard import banktools
55+import ast
56
57 class link_partner(orm.TransientModel):
58 _name = 'banking.link_partner'
59@@ -37,6 +38,16 @@
60 'statement_line_id': fields.many2one(
61 'account.bank.statement.line',
62 'Statement line', required=True),
63+ 'amount': fields.related(
64+ 'statement_line_id', 'amount', type='float',
65+ string="Amount", readonly=True),
66+ 'ref': fields.related(
67+ 'statement_line_id', 'ref', type='char', size=32,
68+ string="Reference", readonly=True),
69+ 'message': fields.related(
70+ 'statement_line_id', 'import_transaction_id', 'message',
71+ type='char', size=1024,
72+ string="Message", readonly=True),
73 'remote_account': fields.char(
74 'Account number', size=24, readonly=True),
75 # Partner values
76@@ -50,6 +61,11 @@
77 'phone': fields.char('Phone', size=64),
78 'fax': fields.char('Fax', size=64),
79 'mobile': fields.char('Mobile', size=64),
80+ 'is_company': fields.boolean('Is a Company'),
81+ }
82+
83+ _defaults = {
84+ 'is_company': True,
85 }
86
87 def create(self, cr, uid, vals, context=None):
88@@ -79,9 +95,19 @@
89 if 'customer' not in vals and statement_line.amount > 0:
90 vals['customer'] = True
91
92- if not vals.get('street'):
93- vals['street'] = transaction.remote_owner_address
94- if not vals.get('street'):
95+ address_list = []
96+ try:
97+ address_list = ast.literal_eval(
98+ transaction.remote_owner_address or [])
99+ except ValueError:
100+ pass
101+ if address_list and not vals.get('street'):
102+ vals['street'] = address_list.pop(0)
103+ if address_list and not vals.get('street2'):
104+ vals['street2'] = address_list.pop(0)
105+ if transaction.remote_owner_postalcode and not vals.get('zip'):
106+ vals['zip'] = transaction.remote_owner_postalcode
107+ if transaction.remote_owner_city and not vals.get('city'):
108 vals['city'] = transaction.remote_owner_city
109 if not vals.get('country_id'):
110 vals['country_id'] = banktools.get_country_id(
111@@ -101,10 +127,12 @@
112 :param wizard: read record of wizard (with load='_classic_write')
113 :param values: the dictionary of partner values that will be updated
114 """
115- for field in ['name',
116+ for field in ['is_company',
117+ 'name',
118 'street',
119 'street2',
120 'zip',
121+ 'city',
122 'country_id',
123 'state_id',
124 'phone',
125@@ -126,10 +154,7 @@
126 else:
127 wiz_read = self.read(
128 cr, uid, ids[0], context=context, load='_classic_write')
129- partner_fields = self.pool.get(
130- 'res.partner')._columns.keys()
131 partner_vals = {
132- 'is_company': True,
133 'type': 'default',
134 }
135 self.update_partner_values(
136
137=== modified file 'account_banking/wizard/link_partner.xml'
138--- account_banking/wizard/link_partner.xml 2013-05-01 14:25:04 +0000
139+++ account_banking/wizard/link_partner.xml 2013-07-24 21:03:27 +0000
140@@ -7,15 +7,24 @@
141 <field name="model">banking.link_partner</field>
142 <field name="arch" type="xml">
143 <form string="Link partner">
144- <group colspan="4" col="6">
145+ <group colspan="4" col="6" string="Transaction data">
146+ <field name="ref" />
147+ <field name="amount" />
148+ <field name="remote_account" />
149+ <field name="message" colspan="6"/>
150+ </group>
151+ <group colspan="4" col="4" string="Create or link partner">
152 <field name="name"
153 attrs="{'readonly': [('partner_id', '!=', False)]}" />
154 <field name="partner_id"/>
155- <field name="remote_account" />
156+ </group>
157+ <group colspan="2">
158+ <field name="is_company" />
159 </group>
160 <group colspan="4"
161 string="Address"
162- attrs="{'invisible': [('partner_id', '!=', False)]}">
163+ attrs="{'invisible': [('partner_id', '!=', False)]}"
164+ col="4">
165 <group colspan="2" col="2">
166 <field name="street"/>
167 <field name="street2"/>

Subscribers

People subscribed via source and target branches

to status/vote changes: