Move code from account.type to account.account and rename it in kind.
This commit is contained in:
1 parent
d94d1878d9
commit
40dde30954
4 files changed
+87
-78
No files matched your search
+61
-32
@@ -19,14 +19,6 @@ class Type(OSV):
|
||||
_name = 'account.account.type'
|
||||
_description = __doc__
|
||||
name = fields.Char('Name', size=None, required=True, translate=True)
|
||||
code = fields.Selection([
|
||||
(None, ''),
|
||||
('payable', 'Payable'),
|
||||
('revenue', 'Revenue'),
|
||||
('receivable', 'Receivable'),
|
||||
('expense', 'Expense'),
|
||||
('view', 'View'),
|
||||
], 'Code')
|
||||
parent = fields.Many2One('account.account.type', 'Parent')
|
||||
childs = fields.One2Many('account.account.type', 'parent', 'Childs')
|
||||
sequence = fields.Integer('Sequence', required=True,
|
||||
@@ -133,24 +125,46 @@ class AccountTemplate(OSV):
|
||||
complete_name = fields.Function('get_complete_name', type='char',
|
||||
string='Name', order_field='code')
|
||||
code = fields.Char('Code', size=None, select=1)
|
||||
type = fields.Many2One('account.account.type', 'Type', required=True)
|
||||
type = fields.Many2One('account.account.type', 'Type',
|
||||
states={
|
||||
'invisible': "kind == 'view'",
|
||||
'required': "kind != 'view'",
|
||||
})
|
||||
parents = fields.Many2Many('account.account.template',
|
||||
'account_account_template_rel', 'child', 'parent', 'Parents')
|
||||
childs = fields.Many2Many('account.account.template',
|
||||
'account_account_template_rel', 'parent', 'child', 'Childs')
|
||||
reconcile = fields.Boolean('Reconcile')
|
||||
reconcile = fields.Boolean('Reconcile',
|
||||
states={
|
||||
'invisible': "kind == 'view'",
|
||||
})
|
||||
close_method = fields.Selection([
|
||||
('none', 'None'),
|
||||
('balance', 'Balance'),
|
||||
('detail', 'Detail'),
|
||||
('unreconciled', 'Unreconciled'),
|
||||
], 'Deferral method', required=True)
|
||||
], 'Deferral method',
|
||||
states={
|
||||
'invisible': "kind == 'view'",
|
||||
'required': "kind != 'view'",
|
||||
})
|
||||
kind = fields.Selection([
|
||||
(None, ''),
|
||||
('payable', 'Payable'),
|
||||
('revenue', 'Revenue'),
|
||||
('receivable', 'Receivable'),
|
||||
('expense', 'Expense'),
|
||||
('view', 'View'),
|
||||
], 'Kind')
|
||||
|
||||
def __init__(self):
|
||||
super(AccountTemplate, self).__init__()
|
||||
self._order.insert(0, ('code', 'ASC'))
|
||||
self._order.insert(1, ('name', 'ASC'))
|
||||
|
||||
def default_kind(self, cursor, user, context=None):
|
||||
return 'view'
|
||||
|
||||
def get_complete_name(self, cursor, user, ids, name, arg, context=None):
|
||||
res = self.name_get(cursor, user, ids, context=context)
|
||||
return dict(res)
|
||||
@@ -239,7 +253,11 @@ class Account(OSV):
|
||||
second_currency = fields.Many2One('currency.currency', 'Secondary currency',
|
||||
help='Force all moves for this account \n' \
|
||||
'to have this secondary currency.')
|
||||
type = fields.Many2One('account.account.type', 'Type', required=True)
|
||||
type = fields.Many2One('account.account.type', 'Type',
|
||||
states={
|
||||
'invisible': "kind == 'view'",
|
||||
'required': "kind != 'view'",
|
||||
})
|
||||
parents = fields.Many2Many('account.account', 'account_account_rel',
|
||||
'child', 'parent', 'Parents')
|
||||
childs = fields.Many2Many('account.account', 'account_account_rel',
|
||||
@@ -250,20 +268,35 @@ class Account(OSV):
|
||||
debit = fields.Function('get_credit_debit', digits=(16, 2), string='Debit')
|
||||
reconcile = fields.Boolean('Reconcile',
|
||||
help='Check if the account can be used \n' \
|
||||
'for reconciliation.')
|
||||
'for reconciliation.',
|
||||
states={
|
||||
'invisible': "kind == 'view'",
|
||||
})
|
||||
close_method = fields.Selection([
|
||||
('none', 'None'),
|
||||
('balance', 'Balance'),
|
||||
('detail', 'Detail'),
|
||||
('unreconciled', 'Unreconciled'),
|
||||
], 'Deferral method', required=True,
|
||||
help='How to process the lines of this account ' \
|
||||
'when closing the fiscal year\n' \
|
||||
'- None: to start with an empty account\n'
|
||||
'- Balance: to create one entry to keep the balance\n'
|
||||
'- Detail: to keep all entries\n'
|
||||
'- Unreconciled: to keep all unreconciled entries')
|
||||
], 'Deferral method',
|
||||
help='How to process the lines of this account ' \
|
||||
'when closing the fiscal year\n' \
|
||||
'- None: to start with an empty account\n'
|
||||
'- Balance: to create one entry to keep the balance\n'
|
||||
'- Detail: to keep all entries\n'
|
||||
'- Unreconciled: to keep all unreconciled entries',
|
||||
states={
|
||||
'invisible': "kind == 'view'",
|
||||
'required': "kind != 'view'",
|
||||
})
|
||||
note = fields.Text('Note')
|
||||
kind = fields.Selection([
|
||||
(None, ''),
|
||||
('payable', 'Payable'),
|
||||
('revenue', 'Revenue'),
|
||||
('receivable', 'Receivable'),
|
||||
('expense', 'Expense'),
|
||||
('view', 'View'),
|
||||
], 'Kind')
|
||||
|
||||
def __init__(self):
|
||||
super(Account, self).__init__()
|
||||
@@ -286,19 +319,15 @@ class Account(OSV):
|
||||
context=context)[0]
|
||||
return False
|
||||
|
||||
def default_type(self, cursor, user, context=None):
|
||||
type_obj = self.pool.get('account.account.type')
|
||||
types = type_obj.search(cursor, user, [
|
||||
('code', '=', 'view'),
|
||||
], limit=1, context=context)
|
||||
return type_obj.name_get(cursor, user, types, context=context)[0]
|
||||
|
||||
def default_reconcile(self, cursor, user, context=None):
|
||||
return False
|
||||
|
||||
def default_close_method(self, cursor, user, context=None):
|
||||
return 'balance'
|
||||
|
||||
def default_kind(self, cursor, user, context=None):
|
||||
return 'view'
|
||||
|
||||
def check_recursion_parents(self, cursor, user, ids):
|
||||
ids_parent = ids[:]
|
||||
while len(ids_parent):
|
||||
@@ -552,7 +581,7 @@ class Party(OSV):
|
||||
account_payable = fields.Property(type='many2one',
|
||||
relation='account.account', string='Account Payable',
|
||||
group_name='Accounting Properties', view_load=True,
|
||||
domain="[('type.code', '=', 'payable'), ('company', '=', company)]",
|
||||
domain="[('kind', '=', 'payable'), ('company', '=', company)]",
|
||||
states={
|
||||
'required': "company",
|
||||
'invisible': "not company",
|
||||
@@ -560,7 +589,7 @@ class Party(OSV):
|
||||
account_receivable = fields.Property(type='many2one',
|
||||
relation='account.account', string='Account Receivable',
|
||||
group_name='Accounting Properties', view_load=True,
|
||||
domain="[('type.code', '=', 'receivable'), ('company', '=', company)]",
|
||||
domain="[('kind', '=', 'receivable'), ('company', '=', company)]",
|
||||
states={
|
||||
'required': "company",
|
||||
'invisible': "not company",
|
||||
@@ -850,7 +879,7 @@ class TrialBalance(Report):
|
||||
datas['form']['company'], context=context)
|
||||
|
||||
account_ids = account_obj.search(cursor, user, [
|
||||
('type.code', '!=', 'view'),
|
||||
('kind', '!=', 'view'),
|
||||
], context=context)
|
||||
|
||||
start_period_ids = [0]
|
||||
@@ -1133,10 +1162,10 @@ class CreateChartAccountPropertites(WizardOSV):
|
||||
company = fields.Many2One('company.company', 'Company')
|
||||
account_receivable = fields.Many2One('account.account',
|
||||
'Default Receivable Account',
|
||||
domain="[('type.code', '=', 'receivable'), ('company', '=', company)]")
|
||||
domain="[('kind', '=', 'receivable'), ('company', '=', company)]")
|
||||
account_payable = fields.Many2One('account.account',
|
||||
'Default Payable Account',
|
||||
domain="[('type.code', '=', 'payable'), ('company', '=', company)]")
|
||||
domain="[('kind', '=', 'payable'), ('company', '=', company)]")
|
||||
|
||||
CreateChartAccountPropertites()
|
||||
|
||||
|
||||
+16
-32
@@ -37,13 +37,10 @@
|
||||
<form string="Account Type">
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<label name="code"/>
|
||||
<field name="code"/>
|
||||
<label name="parent"/>
|
||||
<field name="parent"/>
|
||||
<label name="sequence"/>
|
||||
<field name="sequence"/>
|
||||
<newline/>
|
||||
<label name="parent"/>
|
||||
<field name="parent"/>
|
||||
<label name="display_balance"/>
|
||||
<field name="display_balance"/>
|
||||
<newline/>
|
||||
@@ -64,7 +61,6 @@
|
||||
<![CDATA[
|
||||
<tree string="Account Types">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
</tree>
|
||||
]]>
|
||||
</field>
|
||||
@@ -116,99 +112,79 @@
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_asset">
|
||||
<field name="name">Asset</field>
|
||||
<field name="code">view</field>
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="balance_sheet" eval="True"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_asset_current">
|
||||
<field name="name">Current</field>
|
||||
<field name="code">view</field>
|
||||
<field name="parent" ref="account_type_asset"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_asset_current_cash">
|
||||
<field name="name">Cash</field>
|
||||
<field name="code"></field>
|
||||
<field name="parent" ref="account_type_asset_current"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_asset_current_receivable">
|
||||
<field name="name">Receivable</field>
|
||||
<field name="code">receivable</field>
|
||||
<field name="parent" ref="account_type_asset_current"/>
|
||||
<field name="sequence" eval="20"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_asset_long_term">
|
||||
<field name="name">Long-term</field>
|
||||
<field name="code">view</field>
|
||||
<field name="parent" ref="account_type_asset"/>
|
||||
<field name="sequence" eval="20"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_liability">
|
||||
<field name="name">Liability</field>
|
||||
<field name="code">view</field>
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="balance_sheet" eval="True"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_liability_current">
|
||||
<field name="name">Current</field>
|
||||
<field name="code">view</field>
|
||||
<field name="parent" ref="account_type_liability"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_liability_current_payable">
|
||||
<field name="name">Payable</field>
|
||||
<field name="code">payable</field>
|
||||
<field name="parent" ref="account_type_liability_current"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_liability_current_tax">
|
||||
<field name="name">Tax</field>
|
||||
<field name="code"></field>
|
||||
<field name="parent" ref="account_type_liability_current"/>
|
||||
<field name="sequence" eval="20"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_liability_long_term">
|
||||
<field name="name">Long-term</field>
|
||||
<field name="code">view</field>
|
||||
<field name="parent" ref="account_type_liability"/>
|
||||
<field name="sequence" eval="20"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_equity">
|
||||
<field name="name">Equity</field>
|
||||
<field name="code">view</field>
|
||||
<field name="sequence" eval="30"/>
|
||||
<field name="balance_sheet" eval="True"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_income">
|
||||
<field name="name">Income</field>
|
||||
<field name="code">view</field>
|
||||
<field name="sequence" eval="40"/>
|
||||
<field name="income_statement" eval="True"/>
|
||||
<field name="display_balance">credit-debit</field>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_revenue">
|
||||
<field name="name">Revenue</field>
|
||||
<field name="code">revenue</field>
|
||||
<field name="parent" ref="account_type_income"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="display_balance">credit-debit</field>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_expense">
|
||||
<field name="name">Expense</field>
|
||||
<field name="code">expense</field>
|
||||
<field name="parent" ref="account_type_income"/>
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="display_balance">credit-debit</field>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_view">
|
||||
<field name="name">View</field>
|
||||
<field name="code">view</field>
|
||||
<field name="sequence" eval="50"/>
|
||||
</record>
|
||||
<record model="account.account.type" id="account_type_off_balance">
|
||||
<field name="name">Off-Balance</field>
|
||||
<field name="code"></field>
|
||||
<field name="sequence" eval="60"/>
|
||||
</record>
|
||||
|
||||
@@ -222,6 +198,8 @@
|
||||
<field name="name"/>
|
||||
<label name="code"/>
|
||||
<field name="code"/>
|
||||
<label name="kind"/>
|
||||
<field name="kind"/>
|
||||
<label name="type"/>
|
||||
<field name="type" widget="selection"/>
|
||||
<label name="close_method"/>
|
||||
@@ -273,8 +251,6 @@
|
||||
</record>
|
||||
<record model="account.account.template" id="account_template_root">
|
||||
<field name="name">Minimal Account Chart</field>
|
||||
<field name="close_method">none</field>
|
||||
<field name="type" ref="account_type_view"/>
|
||||
</record>
|
||||
<record model="account.account.template" id="account_template_receivable">
|
||||
<field name="name">Main Receivable</field>
|
||||
@@ -282,6 +258,7 @@
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="close_method">unreconciled</field>
|
||||
<field name="parents" eval="[('add', ref('account_template_root'))]"/>
|
||||
<field name="kind">receivable</field>
|
||||
</record>
|
||||
<record model="account.account.template" id="account_template_payable">
|
||||
<field name="name">Main Payable</field>
|
||||
@@ -289,24 +266,28 @@
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="close_method">unreconciled</field>
|
||||
<field name="parents" eval="[('add', ref('account_template_root'))]"/>
|
||||
<field name="kind">payable</field>
|
||||
</record>
|
||||
<record model="account.account.template" id="account_template_revenue">
|
||||
<field name="name">Main Revenue</field>
|
||||
<field name="type" ref="account_type_revenue"/>
|
||||
<field name="close_method">none</field>
|
||||
<field name="parents" eval="[('add', ref('account_template_root'))]"/>
|
||||
<field name="kind">revenue</field>
|
||||
</record>
|
||||
<record model="account.account.template" id="account_template_expense">
|
||||
<field name="name">Main Expense</field>
|
||||
<field name="type" ref="account_type_expense"/>
|
||||
<field name="close_method">none</field>
|
||||
<field name="parents" eval="[('add', ref('account_template_root'))]"/>
|
||||
<field name="kind">expense</field>
|
||||
</record>
|
||||
<record model="account.account.template" id="account_template_cash">
|
||||
<field name="name">Main Cash</field>
|
||||
<field name="type" ref="account_type_asset_current_cash"/>
|
||||
<field name="close_method">balance</field>
|
||||
<field name="parents" eval="[('add', ref('account_template_root'))]"/>
|
||||
<field name="kind"></field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="account_create_chart_account_init_view_form">
|
||||
@@ -387,16 +368,19 @@
|
||||
<page string="General Information">
|
||||
<label name="company"/>
|
||||
<field name="company"/>
|
||||
<newline/>
|
||||
<label name="kind"/>
|
||||
<field name="kind"/>
|
||||
<label name="type"/>
|
||||
<field name="type" widget="selection"/>
|
||||
<label name="currency"/>
|
||||
<field name="currency"/>
|
||||
<label name="second_currency"/>
|
||||
<field name="second_currency"/>
|
||||
<label name="close_method"/>
|
||||
<field name="close_method"/>
|
||||
<label name="reconcile"/>
|
||||
<field name="reconcile"/>
|
||||
<label name="currency"/>
|
||||
<field name="currency"/>
|
||||
<label name="second_currency"/>
|
||||
<field name="second_currency"/>
|
||||
<separator name="parents" colspan="4"/>
|
||||
<field name="parents" colspan="4"/>
|
||||
<separator name="taxes" colspan="4"/>
|
||||
|
||||
+2
-2
@@ -79,13 +79,13 @@ class Journal(OSV):
|
||||
domain="[('code', '=', 'account.journal')]")
|
||||
credit_account = fields.Property(type='many2one',
|
||||
relation='account.account', string='Default Credit Account',
|
||||
domain="[('type.code', '!=', 'view'), ('company', '=', company)]",
|
||||
domain="[('kind', '!=', 'view'), ('company', '=', company)]",
|
||||
states={
|
||||
'required': "centralised or type == 'cash'",
|
||||
})
|
||||
debit_account = fields.Property(type='many2one',
|
||||
relation='account.account', string='Default Debit Account',
|
||||
domain="[('type.code', '!=', 'view'), ('company', '=', company)]",
|
||||
domain="[('kind', '!=', 'view'), ('company', '=', company)]",
|
||||
states={
|
||||
'required': "centralised or type == 'cash'",
|
||||
})
|
||||
|
||||
@@ -342,7 +342,7 @@ class Line(OSV):
|
||||
on_change=['account', 'debit', 'credit', 'tax_lines',
|
||||
'journal', 'move'])
|
||||
account = fields.Many2One('account.account', 'Account', required=True,
|
||||
domain=[('type.code', '!=', 'view')],
|
||||
domain=[('kind', '!=', 'view')],
|
||||
select=1,
|
||||
on_change=['account', 'debit', 'credit', 'tax_lines',
|
||||
'journal', 'move'])
|
||||
@@ -900,7 +900,7 @@ class Line(OSV):
|
||||
|
||||
def check_account(self, cursor, user, ids):
|
||||
for line in self.browse(cursor, user, ids):
|
||||
if line.account.type.code in ('view',):
|
||||
if line.account.kind in ('view',):
|
||||
return False
|
||||
if not line.account.active:
|
||||
return False
|
||||
@@ -1316,7 +1316,7 @@ class ReconcileLinesWriteOff(WizardOSV):
|
||||
journal = fields.Many2One('account.journal', 'Journal', required=True)
|
||||
date = fields.Date('Date', required=True)
|
||||
account = fields.Many2One('account.account', 'Account', required=True,
|
||||
domain=[('type.code', '!=', 'view')])
|
||||
domain=[('kind', '!=', 'view')])
|
||||
|
||||
def default_date(self, cursor, user, context=None):
|
||||
return datetime.date.today()
|
||||
@@ -1434,7 +1434,7 @@ UnreconcileLines()
|
||||
class OpenReconcileLinesInit(WizardOSV):
|
||||
_name = 'account.move.open_reconcile_lines.init'
|
||||
account = fields.Many2One('account.account', 'Account', required=True,
|
||||
domain=[('type.code', '!=', 'view'), ('reconcile', '=', True)])
|
||||
domain=[('kind', '!=', 'view'), ('reconcile', '=', True)])
|
||||
|
||||
OpenReconcileLinesInit()
|
||||
|
||||
@@ -1547,12 +1547,10 @@ class Party(OSV):
|
||||
cursor.execute('SELECT l.party, ' \
|
||||
'SUM((COALESCE(l.debit, 0) - COALESCE(l.credit, 0))) ' \
|
||||
'FROM account_move_line AS l, ' \
|
||||
'account_account AS a, ' \
|
||||
'account_account_type AS t ' \
|
||||
'account_account AS a ' \
|
||||
'WHERE a.id = l.account ' \
|
||||
'AND a.active ' \
|
||||
'AND a.type = t.id ' \
|
||||
'AND t.code = %s ' \
|
||||
'AND a.kind = %s ' \
|
||||
'AND l.party IN ' \
|
||||
'(' + ','.join(['%s' for x in ids]) + ') ' \
|
||||
'AND l.reconciliation IS NULL ' \
|
||||
@@ -1608,12 +1606,10 @@ class Party(OSV):
|
||||
|
||||
cursor.execute('SELECT l.party ' \
|
||||
'FROM account_move_line AS l, ' \
|
||||
'account_account AS a, ' \
|
||||
'account_account_type AS t ' \
|
||||
'account_account AS a ' \
|
||||
'WHERE a.id = l.account ' \
|
||||
'AND a.active ' \
|
||||
'AND a.type = t.id ' \
|
||||
'AND t.code = %s ' \
|
||||
'AND a.kind = %s ' \
|
||||
'AND l.party IS NOT NULL ' \
|
||||
'AND l.reconciliation IS NULL ' \
|
||||
'AND ' + line_query + ' ' \
|
||||
|
||||
Reference in new issue
Block a user