Remove accounts from products

The edition of accounting categories are limited to accounting administrators.
If a product does not have an accounting category, the default value defined
on the configuration are used.

issue3805
review45111002
This commit is contained in:
Cédric Krier committed 2018-06-20 12:09:04 +02:00
1 parent 4344dc7c08
commit dc6e017e2d
12 files changed
+91 -409

No files matched your search

+5 -28
View File
@@ -45,34 +45,16 @@ class AccountProductTestCase(ModuleTestCase):
)
template.save()
self.assertIsNone(template.account_expense)
with self.assertRaises(UserError):
template.account_expense_used
# with account
template = ProductTemplate(
name='test account used',
list_price=Decimal(10),
default_uom=unit.id,
account_expense=account_expense.id,
products=[],
)
template.save()
self.assertEqual(template.account_expense, account_expense)
self.assertEqual(template.account_expense_used, account_expense)
# with account on category
category = ProductCategory(name='test account used',
account_expense=account_expense, accounting=True)
category.save()
template.account_expense = None
template.accounts_category = True
template.account_category = category
template.save()
self.assertIsNone(template.account_expense)
self.assertEqual(template.account_expense_used, account_expense)
# with account on grant category
@@ -84,30 +66,25 @@ class AccountProductTestCase(ModuleTestCase):
category.parent = parent_category
category.save()
self.assertIsNone(category.account_expense)
self.assertEqual(template.account_expense_used, account_expense)
self.assertEqual(category.account_expense_used, account_expense)
# raise only at direct usage
templates = ProductTemplate.create([{
categories = ProductCategory.create([{
'name': 'test with account',
'list_price': Decimal(10),
'default_uom': unit.id,
'accounting': True,
'account_expense': account_expense.id,
'products': [],
}, {
'name': 'test without account',
'list_price': Decimal(10),
'default_uom': unit.id,
'accounting': True,
'account_expense': None,
'products': [],
}])
self.assertEqual(templates[0].account_expense_used.id,
self.assertEqual(categories[0].account_expense_used.id,
account_expense.id)
with self.assertRaises(UserError):
templates[1].account_expense_used
categories[1].account_expense_used
def suite():