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

Proposed by jftempo
Status: Merged
Merged at revision: 5089
Proposed branch: lp:~julie-w/unifield-server/US-4944
Merge into: lp:unifield-server
Diff against target: 74 lines (+23/-17)
2 files modified
bin/addons/msf_profile/i18n/fr_MF.po (+2/-6)
bin/addons/register_accounting/wizard/down_payment.py (+21/-11)
To merge this branch: bzr merge lp:~julie-w/unifield-server/US-4944
Reviewer Review Type Date Requested Status
UniField Reviewer Team Pending
Review via email: mp+354240@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/i18n/fr_MF.po'
2--- bin/addons/msf_profile/i18n/fr_MF.po 2018-08-22 15:47:29 +0000
3+++ bin/addons/msf_profile/i18n/fr_MF.po 2018-09-04 12:11:59 +0000
4@@ -45268,12 +45268,8 @@
5 #. module: register_accounting
6 #: code:addons/register_accounting/wizard/down_payment.py:98
7 #, python-format
8-msgid "Maximum amount should be: %s. Register' +\n"
9-" ' line amount is higher than (PO confirmed amount - ' +\n"
10-" 'unexpended DPs - open/paid INV)."
11-msgstr "Le montant maximum devrait être : %s. Le montant de la ligne de registre' +\n"
12-" ' est plus élevé que (montant confirmé du BC - ' +\n"
13-" 'acomptes non utilisés - factures ouvertes / payées)."
14+msgid "Maximum amount should be: %s. Register line amount is higher than (PO confirmed amount - unexpended DPs - open/paid INV)."
15+msgstr "Le montant maximum devrait être : %s. Le montant de la ligne de registre est plus élevé que (montant confirmé du BC - acomptes non utilisés - factures ouvertes / payées)."
16
17 #. modules: account_override, account, register_accounting, msf_instance, finance
18 #: selection:account.analytic.journal,type:0
19
20=== modified file 'bin/addons/register_accounting/wizard/down_payment.py'
21--- bin/addons/register_accounting/wizard/down_payment.py 2018-07-10 16:17:22 +0000
22+++ bin/addons/register_accounting/wizard/down_payment.py 2018-09-04 12:11:59 +0000
23@@ -59,17 +59,29 @@
24 po_id = po_id[0]
25 # Prepare some values
26 po_obj = self.pool.get('purchase.order')
27- pol_obj = self.pool.get('purchase.order.line')
28- po = po_obj.read(cr, uid, po_id, ['partner_id', 'down_payment_ids', 'order_line'])
29+ tax_obj = self.pool.get('account.tax')
30+ cur_obj = self.pool.get('res.currency')
31+ po_fields = ['partner_id', 'order_line', 'partner_address_id', 'pricelist_id']
32+ po = po_obj.browse(cr, uid, po_id, fields_to_fetch=po_fields, context=context)
33 absl = self.pool.get('account.bank.statement.line').browse(cr, uid, absl_id)
34 # Verify that PO partner is the same as down payment partner
35 if not absl.partner_id:
36 raise osv.except_osv(_('Warning'), _('Third Party is mandatory for down payments!'))
37- if po.get('partner_id', [False])[0] != absl.partner_id.id:
38+ if po.partner_id.id != absl.partner_id.id:
39 raise osv.except_osv(_('Error'), _('Third party from Down payment and Purchase Order are different!'))
40- total = 0.0
41- for pol in pol_obj.read(cr, uid, po['order_line'], ['state', 'price_unit', 'product_qty'], context=context):
42- total += pol['state'] in ('confirmed', 'done') and (pol['price_unit'] * pol['product_qty']) or 0.0
43+ amount_untaxed = amount_tax = 0.0
44+ for pol in po.order_line:
45+ if pol.state in ('confirmed', 'done'):
46+ amount_untaxed += pol.price_subtotal or 0.0
47+ for c in tax_obj.compute_all(cr, uid, pol.taxes_id or [], pol.price_unit, pol.product_qty,
48+ po.partner_address_id.id, pol.product_id and pol.product_id.id or False,
49+ po.partner_id)['taxes']:
50+ amount_tax += c.get('amount', 0.0)
51+ # round amounts
52+ cur = po.pricelist_id.currency_id
53+ rounded_untaxed = cur_obj.round(cr, uid, cur.rounding, amount_untaxed)
54+ rounded_tax = cur_obj.round(cr, uid, cur.rounding, amount_tax)
55+ total_po = rounded_untaxed + rounded_tax
56
57 absl_obj = self.pool.get('account.bank.statement.line')
58 args = [('down_payment_id', '=', po_id)]
59@@ -96,12 +108,10 @@
60 included_dp_amls.append(dp.get('id'))
61
62 total_amount = lines_amount + absl.amount
63- if (total + total_amount) < -0.001:
64+ if (total_po + total_amount) < -0.001:
65 raise osv.except_osv(_('Warning'),
66- _('Maximum amount should be: %s. Register' +
67- ' line amount is higher than (PO confirmed amount - ' +
68- 'unexpended DPs - open/paid INV).')
69- % (total + lines_amount))
70+ _('Maximum amount should be: %s. Register line amount is higher than (PO confirmed amount - unexpended DPs - open/paid INV).')
71+ % (total_po + lines_amount))
72 return True
73
74 def button_validate(self, cr, uid, ids, context=None):

Subscribers

People subscribed via source and target branches