Merge lp:~julie-w/unifield-server/US-5480 into lp:unifield-server

Proposed by jftempo
Status: Merged
Merged at revision: 5217
Proposed branch: lp:~julie-w/unifield-server/US-5480
Merge into: lp:unifield-server
Diff against target: 56 lines (+35/-0)
2 files modified
bin/addons/msf_profile/data/patches.xml (+5/-0)
bin/addons/msf_profile/msf_profile.py (+30/-0)
To merge this branch: bzr merge lp:~julie-w/unifield-server/US-5480
Reviewer Review Type Date Requested Status
UniField Reviewer Team Pending
Review via email: mp+362313@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/addons/msf_profile/data/patches.xml'
2--- bin/addons/msf_profile/data/patches.xml 2019-01-16 16:00:37 +0000
3+++ bin/addons/msf_profile/data/patches.xml 2019-01-28 14:17:37 +0000
4@@ -1,6 +1,11 @@
5 <?xml version="1.0" encoding="utf-8" ?>
6 <openerp>
7 <data>
8+ <!-- UF12.0 -->
9+ <record id="us_5480_correct_partner_fo_default_currency" model="patch.scripts">
10+ <field name="method">us_5480_correct_partner_fo_default_currency</field>
11+ </record>
12+
13 <!-- UF11.1 -->
14 <record id="us_5425_reset_amount_currency" model="patch.scripts">
15 <field name="method">us_5425_reset_amount_currency</field>
16
17=== modified file 'bin/addons/msf_profile/msf_profile.py'
18--- bin/addons/msf_profile/msf_profile.py 2019-01-25 16:57:19 +0000
19+++ bin/addons/msf_profile/msf_profile.py 2019-01-28 14:17:37 +0000
20@@ -52,6 +52,36 @@
21 'model': lambda *a: 'patch.scripts',
22 }
23
24+ # UF12.0
25+ def us_5480_correct_partner_fo_default_currency(self, cr, uid, *a, **b):
26+ """
27+ Sets FO default currency = PO default currency for all external partners where these currencies are different
28+ """
29+ partner_obj = self.pool.get('res.partner')
30+ pricelist_obj = self.pool.get('product.pricelist')
31+ partner_ids = partner_obj.search(cr, uid, [('partner_type', '=', 'external'), ('active', 'in', ['t', 'f'])])
32+ partner_count = 0
33+ for partner in partner_obj.browse(cr, uid, partner_ids,
34+ fields_to_fetch=['property_product_pricelist_purchase',
35+ 'property_product_pricelist']):
36+ if partner.property_product_pricelist_purchase and partner.property_product_pricelist \
37+ and partner.property_product_pricelist_purchase.currency_id.id != partner.property_product_pricelist.currency_id.id:
38+ # search for the "Sale" pricelist having the same currency as the "Purchase" pricelist currently used
39+ pricelist_dom = [('type', '=', 'sale'),
40+ ('currency_id', '=', partner.property_product_pricelist_purchase.currency_id.id)]
41+ pricelist_ids = pricelist_obj.search(cr, uid, pricelist_dom, limit=1)
42+ if pricelist_ids:
43+ sql = """
44+ UPDATE ir_property
45+ SET value_reference = %s
46+ WHERE name = 'property_product_pricelist'
47+ AND res_id = %s;
48+ """
49+ cr.execute(sql, ('product.pricelist,%s' % pricelist_ids[0], 'res.partner,%s' % partner.id))
50+ partner_count += 1
51+ self._logger.warn('FO default currency modified for %s partner(s).' % (partner_count,))
52+ return True
53+
54 # UF11.1
55 def us_5559_set_pricelist(self, cr, uid, *a, **b):
56 if not self.pool.get('sync.client.entity'):

Subscribers

People subscribed via source and target branches