Move code from account.type to account.account and rename it in kind.

This commit is contained in:
Cédric Krier committed 2008-07-11 17:26:32 +02:00
1 parent d94d1878d9
commit 40dde30954
4 files changed
+87 -78

No files matched your search

+61 -32
View File
@@ -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
View File
@@ -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
View File
@@ -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'",
})
+8 -12
View File
@@ -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 + ' ' \