53
53
def _unit_compute(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None, quantity=0):
54
54
res = super(account_tax, self)._unit_compute(cr, uid, taxes, price_unit, address_id, product, partner, quantity)
55
prod_obj = self.pool.get('product.template')
55
product_obj = self.pool.get('product.template')
56
tax_obj = self.pool.get('account.tax')
57
58
#product account mapping
59
onetax['account_collected_id'] = prod_obj.map_account(cr, uid, product, onetax['account_collected_id'])
60
onetax['account_paid_id'] = prod_obj.map_account(cr, uid, product, onetax['account_collected_id'])
60
tax['account_collected_id'] = product_obj.map_account(cr, uid, product, tax['account_collected_id'])
61
tax['account_paid_id'] = product_obj.map_account(cr, uid, product, tax['account_collected_id'])
63
tax_data = tax_obj.browse(cr, uid, tax['id'])
64
tax['base_account'] = tax_data.base_account
65
tax['base_account_collected_id'] = tax_data.base_account_collected_id and tax_data.base_account_collected_id.id or False
66
tax['base_account_paid_id'] = tax_data.base_account_paid_id and tax_data.base_account_collected_id.id or False
61
68
#TODO - move in some l10n_hr... module
63
tax1 = self.pool.get('account.tax').read(cr, uid, onetax['id'], ['name','description'], context={'lang':'hr_HR'});
64
onetax['name'] = tax1['name'] or tax1['description']
70
tax1 = self.pool.get('account.tax').read(cr, uid, tax['id']
71
,['name','description']
72
,context={'lang':'hr_HR'});
73
tax['name'] = tax1['name'] or tax1['description']
67
77
def _unit_compute_inv(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None):
68
reza = super(account_tax, self)._unit_compute_inv(cr, uid, taxes, price_unit, address_id, product, partner)
70
#product account mapping
72
onetax['account_collected_id'] = prod_obj.map_account(cr, uid, product, onetax['account_collected_id'])
73
onetax['account_paid_id'] = prod_obj.map_account(cr, uid, product, onetax['account_collected_id'])
78
res = super(account_tax, self)._unit_compute_inv(cr, uid, taxes, price_unit, address_id, product, partner)
79
product_obj = self.pool.get('product.template')
80
tax_obj = self.pool.get('account.tax')
82
if product: #product account mapping
83
tax['account_collected_id'] = product_obj.map_account(cr, uid, product, tax['account_collected_id'])
84
tax['account_paid_id'] = product_obj.map_account(cr, uid, product, tax['account_collected_id'])
86
tax_data = tax_obj.browse(cr, uid, tax['id'])
87
tax['base_account'] = tax_data.base_account
88
tax['base_account_collected_id'] = tax_data.base_account_collected_id and tax_data.base_account_collected_id.id or False
89
tax['base_account_paid_id'] = tax_data.base_account_paid_id and tax_data.base_account_collected_id.id or False
77
93
def _compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
79
95
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
83
98
tax = {'name':'', 'amount':0.0, 'account_collected_id':1, 'account_paid_id':2}