57 lines
2.3 KiB
YAML
57 lines
2.3 KiB
YAML
|
-
|
||
|
We create a simple hierarchy like this
|
||
|
Toplevel view account
|
||
|
├ Real analytic account 1
|
||
|
└ Real analytic account 2
|
||
|
-
|
||
|
!record {model: account.analytic.account, id: analytic_account_view1}:
|
||
|
name: 'Toplevel view account'
|
||
|
type: 'view'
|
||
|
-
|
||
|
!record {model: account.analytic.account, id: analytic_account1}:
|
||
|
name: 'Real analytic account 1'
|
||
|
type: 'normal'
|
||
|
parent_id: analytic_account_view1
|
||
|
-
|
||
|
!record {model: account.analytic.account, id: analytic_account2}:
|
||
|
name: 'Real analytic account 2'
|
||
|
type: 'normal'
|
||
|
parent_id: analytic_account_view1
|
||
|
-
|
||
|
We add analytic lines in real accounts and journal
|
||
|
-
|
||
|
!record {model: account.analytic.journal, id: analytic_journal1}:
|
||
|
name: 'Analytic journal'
|
||
|
-
|
||
|
!record {model: account.analytic.line, id: analytic_line1}:
|
||
|
name: 'Analytic line 1'
|
||
|
account_id: analytic_account1
|
||
|
journal_id: analytic_journal1
|
||
|
general_account_id: account.a_expense
|
||
|
-
|
||
|
!record {model: account.analytic.line, id: analytic_line2}:
|
||
|
name: 'Analytic line 2'
|
||
|
account_id: analytic_account2
|
||
|
journal_id: analytic_journal1
|
||
|
general_account_id: account.a_expense
|
||
|
-
|
||
|
Now we copy the toplevel account
|
||
|
-
|
||
|
!function {model: account.analytic.account, name: copy, id: analytic_account_view1}:
|
||
|
- eval: "ref('analytic_account_view1')"
|
||
|
-
|
||
|
!python {model: account.analytic.account}: |
|
||
|
# the toplevel account has been copied with the (copy) suffix
|
||
|
accounts = self.search(cr, uid, [('name', 'like', '%Toplevel view account%')])
|
||
|
assert len(accounts) == 2, 'The toplevel account has not been copied'
|
||
|
accounts = self.search(cr, uid, [('name', '=', 'Toplevel view account')])
|
||
|
assert len(accounts) == 1, 'The toplevel account copy has a bad name'
|
||
|
# the sub-accounts and sub-accounts have been copied without the (copy) suffix
|
||
|
accounts = self.search(cr, uid, [('name', '=', 'Real analytic account 1')])
|
||
|
assert len(accounts) == 2, 'The sub-account has not been copied'
|
||
|
accounts = self.search(cr, uid, [('name', '=', 'Real analytic account 2')])
|
||
|
assert len(accounts) == 2, 'The sub-account has not been copied'
|
||
|
# the analytic lines should not be duplicated
|
||
|
lines = self.pool.get('account.analytic.line').search(cr, uid, [('name', 'like', '%Analytic line %')])
|
||
|
assert len(lines) == 2, "The analytic lines shouldn't have been copied"
|