Reviewers: ,
Please review this at http://codereview.tryton.org/38006/
Affected files:
M product.py
Index: product.py
===================================================================
--- a/product.py
+++ b/product.py
@@ -13,7 +13,7 @@
'Account Expense', domain=[
('kind', '=', 'expense'),
('company', '=', Eval('company')),
- ],
+ ], on_change=['account_expense'],
states={
'invisible': Not(Bool(Eval('company'))),
}))
@@ -21,7 +21,7 @@
'Account Revenue', domain=[
('kind', '=', 'revenue'),
('company', '=', Eval('company')),
- ],
+ ], on_change=['account_revenue'],
states={
'invisible': Not(Bool(Eval('company'))),
}))
@@ -30,6 +30,28 @@
supplier_taxes =
fields.Many2Many('product.category-supplier-account.tax',
'category', 'tax', 'Supplier Taxes', domain=[('parent', '=',
False)])
+ def on_change_account_expense(self, values):
+ account_obj = self.pool.get('account.account')
+ supplier_taxes = []
+ result = {
+ 'supplier_taxes': supplier_taxes,
+ }
+ if values.get('account_expense'):
+ account = account_obj.browse(values['account_expense'])
+ supplier_taxes.extend(tax.id for tax in account.taxes)
+ return result
+
+ def on_change_account_revenue(self, values):
+ account_obj = self.pool.get('account.account')
+ customer_taxes = []
+ result = {
+ 'customer_taxes': customer_taxes,
+ }
+ if values.get('account_revenue'):
+ account = account_obj.browse(values['account_revenue'])
+ customer_taxes.extend(tax.id for tax in account.taxes)
+ return result
+
Category()
@@ -88,7 +110,7 @@
'Account Expense', domain=[
('kind', '=', 'expense'),
('company', '=', Eval('company')),
- ],
+ ], on_change=['account_expense'],
states={
'invisible': Or(Not(Bool(Eval('company'))),
Bool(Eval('account_category'))),
@@ -98,7 +120,7 @@
'Account Revenue', domain=[
('kind', '=', 'revenue'),
('company', '=', Eval('company')),
- ],
+ ], on_change=['account_revenue'],
states={
'invisible': Or(Not(Bool(Eval('company'))),
Bool(Eval('account_category'))),
@@ -163,6 +185,28 @@
res[product.id] = [x.id for x in product[name]]
return res
+ def on_change_account_expense(self, values):
+ account_obj = self.pool.get('account.account')
+ supplier_taxes = []
+ result = {
+ 'supplier_taxes': supplier_taxes,
+ }
+ if values.get('account_expense'):
+ account = account_obj.browse(values['account_expense'])
+ supplier_taxes.extend(tax.id for tax in account.taxes)
+ return result
+
+ def on_change_account_revenue(self, values):
+ account_obj = self.pool.get('account.account')
+ customer_taxes = []
+ result = {
+ 'customer_taxes': customer_taxes,
+ }
+ if values.get('account_revenue'):
+ account = account_obj.browse(values['account_revenue'])
+ customer_taxes.extend(tax.id for tax in account.taxes)
+ return result
+
Template()
--
[email protected] mailing list