From 1c33b8d114153d13a6384b1344ea3f038a6638ae Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Sat, 5 Jun 2010 23:39:55 +0200 Subject: [PATCH] [IMP] Account/Sale/Purchase Tax Included. account_/sale_/purchase_tax_include not required anymore bzr revid: fp@tinyerp.com-20100605213955-zc3gbpq20i75sq7c --- addons/account/account.py | 36 ++- addons/account/account_invoice_view.xml | 3 +- addons/account/account_view.xml | 2 +- addons/account/invoice.py | 30 ++- addons/account_tax_include/__init__.py | 25 -- addons/account_tax_include/__openerp__.py | 42 ---- .../account_tax_include.py | 230 ------------------ .../account_tax_include_view.xml | 79 ------ .../i18n/account_tax_include.pot | 52 ---- addons/account_tax_include/i18n/ar.po | 52 ---- addons/account_tax_include/i18n/bg.po | 52 ---- addons/account_tax_include/i18n/bs.po | 52 ---- addons/account_tax_include/i18n/ca.po | 53 ---- addons/account_tax_include/i18n/cs.po | 52 ---- addons/account_tax_include/i18n/de.po | 52 ---- addons/account_tax_include/i18n/el.po | 53 ---- addons/account_tax_include/i18n/en_AU.po | 53 ---- addons/account_tax_include/i18n/en_GB.po | 53 ---- addons/account_tax_include/i18n/es.po | 52 ---- addons/account_tax_include/i18n/es_AR.po | 52 ---- addons/account_tax_include/i18n/et.po | 52 ---- addons/account_tax_include/i18n/fi.po | 53 ---- addons/account_tax_include/i18n/fr.po | 52 ---- addons/account_tax_include/i18n/gl.po | 54 ---- addons/account_tax_include/i18n/hr.po | 52 ---- addons/account_tax_include/i18n/hu.po | 52 ---- addons/account_tax_include/i18n/id.po | 52 ---- addons/account_tax_include/i18n/it.po | 52 ---- addons/account_tax_include/i18n/ko.po | 53 ---- addons/account_tax_include/i18n/lt.po | 52 ---- addons/account_tax_include/i18n/nl.po | 52 ---- addons/account_tax_include/i18n/nl_BE.po | 52 ---- addons/account_tax_include/i18n/oc.po | 53 ---- addons/account_tax_include/i18n/pl.po | 52 ---- addons/account_tax_include/i18n/pt.po | 52 ---- addons/account_tax_include/i18n/pt_BR.po | 52 ---- addons/account_tax_include/i18n/ro.po | 52 ---- addons/account_tax_include/i18n/ru.po | 52 ---- addons/account_tax_include/i18n/sk.po | 53 ---- addons/account_tax_include/i18n/sl.po | 52 ---- addons/account_tax_include/i18n/sq.po | 104 -------- addons/account_tax_include/i18n/sv.po | 52 ---- addons/account_tax_include/i18n/tlh.po | 52 ---- addons/account_tax_include/i18n/tr.po | 52 ---- addons/account_tax_include/i18n/uk.po | 52 ---- addons/account_tax_include/i18n/vi.po | 104 -------- addons/account_tax_include/i18n/zh_CN.po | 63 ----- addons/account_tax_include/i18n/zh_TW.po | 52 ---- addons/purchase/purchase.py | 11 +- addons/sale/sale.py | 22 +- addons/sale/sale_view.xml | 2 - 51 files changed, 65 insertions(+), 2622 deletions(-) delete mode 100644 addons/account_tax_include/__init__.py delete mode 100644 addons/account_tax_include/__openerp__.py delete mode 100644 addons/account_tax_include/account_tax_include.py delete mode 100644 addons/account_tax_include/account_tax_include_view.xml delete mode 100644 addons/account_tax_include/i18n/account_tax_include.pot delete mode 100644 addons/account_tax_include/i18n/ar.po delete mode 100644 addons/account_tax_include/i18n/bg.po delete mode 100644 addons/account_tax_include/i18n/bs.po delete mode 100644 addons/account_tax_include/i18n/ca.po delete mode 100644 addons/account_tax_include/i18n/cs.po delete mode 100644 addons/account_tax_include/i18n/de.po delete mode 100644 addons/account_tax_include/i18n/el.po delete mode 100644 addons/account_tax_include/i18n/en_AU.po delete mode 100644 addons/account_tax_include/i18n/en_GB.po delete mode 100644 addons/account_tax_include/i18n/es.po delete mode 100644 addons/account_tax_include/i18n/es_AR.po delete mode 100644 addons/account_tax_include/i18n/et.po delete mode 100644 addons/account_tax_include/i18n/fi.po delete mode 100644 addons/account_tax_include/i18n/fr.po delete mode 100644 addons/account_tax_include/i18n/gl.po delete mode 100644 addons/account_tax_include/i18n/hr.po delete mode 100644 addons/account_tax_include/i18n/hu.po delete mode 100644 addons/account_tax_include/i18n/id.po delete mode 100644 addons/account_tax_include/i18n/it.po delete mode 100644 addons/account_tax_include/i18n/ko.po delete mode 100644 addons/account_tax_include/i18n/lt.po delete mode 100644 addons/account_tax_include/i18n/nl.po delete mode 100644 addons/account_tax_include/i18n/nl_BE.po delete mode 100644 addons/account_tax_include/i18n/oc.po delete mode 100644 addons/account_tax_include/i18n/pl.po delete mode 100644 addons/account_tax_include/i18n/pt.po delete mode 100644 addons/account_tax_include/i18n/pt_BR.po delete mode 100644 addons/account_tax_include/i18n/ro.po delete mode 100644 addons/account_tax_include/i18n/ru.po delete mode 100644 addons/account_tax_include/i18n/sk.po delete mode 100644 addons/account_tax_include/i18n/sl.po delete mode 100644 addons/account_tax_include/i18n/sq.po delete mode 100644 addons/account_tax_include/i18n/sv.po delete mode 100644 addons/account_tax_include/i18n/tlh.po delete mode 100644 addons/account_tax_include/i18n/tr.po delete mode 100644 addons/account_tax_include/i18n/uk.po delete mode 100644 addons/account_tax_include/i18n/vi.po delete mode 100644 addons/account_tax_include/i18n/zh_CN.po delete mode 100644 addons/account_tax_include/i18n/zh_TW.po diff --git a/addons/account/account.py b/addons/account/account.py index 61319f7f973..ca41c8d4813 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1567,8 +1567,41 @@ class account_tax(osv.osv): cur_price_unit+=amount2 return res - def compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None): + def compute_all(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None): + """ + RETURN: { + 'total': 0.0, # Total without taxes + 'total_included: 0.0, # Total with taxes + 'taxes': [] # List of taxes, see compute for the format + } + """ + precision = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account') + totalin = totalex = round(price_unit * quantity, precision) + totalex = totalex = round(price_unit * quantity, precision) + tin = [] + tex = [] + for tax in taxes: + if tax.price_include: + tin.append(tax) + else: + tex.append(tax) + tin = self.compute_inv(cr, uid, tin, price_unit, quantity, address_id=address_id, product=product, partner=partner) + tex = self._compute(cr, uid, tex, price_unit, quantity, address_id=address_id, product=product, partner=partner) + for r in tin: + totalex -= r['amount'] + for r in tex: + totalin += r['amount'] + return { + 'total': totalex, + 'total_included': totalin, + 'taxes': tin + tex + } + def compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None): + print "Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included" + return self._compute(cr, uid, taxes, price_unit, quantity, address_id, product, partner) + + def _compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None): """ Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID. @@ -1585,7 +1618,6 @@ class account_tax(osv.osv): else: r['amount'] = round(r['amount'] * quantity, self.pool.get('decimal.precision').precision_get(cr, uid, 'Account')) total += r['amount'] - return res def _unit_compute_inv(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None): diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 77369bdca25..4c4a3f3a9ef 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -63,6 +63,7 @@ + @@ -146,7 +147,7 @@ -