diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index e024e58c851..dcbaf683674 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -146,7 +146,7 @@
-
+
@@ -202,11 +202,11 @@
+
-
-
+
@@ -296,11 +296,11 @@
-
+
-
+
diff --git a/addons/account/wizard/account_change_currency.py b/addons/account/wizard/account_change_currency.py
index eee754435cd..11fe45fa2f8 100644
--- a/addons/account/wizard/account_change_currency.py
+++ b/addons/account/wizard/account_change_currency.py
@@ -48,27 +48,26 @@ class account_change_currency(osv.osv_memory):
data = self.read(cr, uid, ids)[0]
new_currency = data['currency_id']
- for invoice in obj_inv.browse(cr, uid, context['active_ids'], context=context):
- if invoice.currency_id.id == new_currency:
- continue
+ invoice = obj_inv.browse(cr, uid, context['active_id'], context=context)
+ if invoice.currency_id.id == new_currency:
+ return {}
- for line in invoice.invoice_line:
- rate = obj_currency.browse(cr, uid, new_currency).rate
- new_price = 0
- if invoice.company_id.currency_id.id == invoice.currency_id.id:
- new_price = line.price_unit * rate
+ for line in invoice.invoice_line:
+ rate = obj_currency.browse(cr, uid, new_currency).rate
+ new_price = 0
+ if invoice.company_id.currency_id.id == invoice.currency_id.id:
+ new_price = line.price_unit * rate
- if invoice.company_id.currency_id.id != invoice.currency_id.id and invoice.company_id.currency_id.id == new_currency:
- old_rate = invoice.currency_id.rate
- new_price = line.price_unit / old_rate
+ if invoice.company_id.currency_id.id != invoice.currency_id.id and invoice.company_id.currency_id.id == new_currency:
+ old_rate = invoice.currency_id.rate
+ new_price = line.price_unit / old_rate
- if invoice.company_id.currency_id.id != invoice.currency_id.id and invoice.company_id.currency_id.id != new_currency:
- old_rate = invoice.currency_id.rate
- new_price = (line.price_unit / old_rate ) * rate
+ if invoice.company_id.currency_id.id != invoice.currency_id.id and invoice.company_id.currency_id.id != new_currency:
+ old_rate = invoice.currency_id.rate
+ new_price = (line.price_unit / old_rate ) * rate
- obj_inv_line.write(cr, uid, [line.id], {'price_unit' : new_price})
- invoice_ids.append(invoice.id)
- obj_inv.write(cr, uid, invoice_ids, {'currency_id' : new_currency}, context=context)
+ obj_inv_line.write(cr, uid, [line.id], {'price_unit' : new_price})
+ obj_inv.write(cr, uid, invoice.id, {'currency_id' : new_currency}, context=context)
return {}
account_change_currency()
diff --git a/addons/account/wizard/account_change_currency_view.xml b/addons/account/wizard/account_change_currency_view.xml
index c94aa63b222..4a246f4034f 100644
--- a/addons/account/wizard/account_change_currency_view.xml
+++ b/addons/account/wizard/account_change_currency_view.xml
@@ -8,6 +8,7 @@
form