Better account type implementation

- code become a selection and restricted to onlyy usefull code
- add boolean to put code in income statement or balance sheet
This commit is contained in:
Cédric Krier committed 2008-04-16 18:22:03 +02:00
1 parent c2fdd6e852
commit c3fe7eca74
2 files changed
+29 -32

No files matched your search

+17 -18
View File
@@ -18,24 +18,35 @@ class Type(OSV):
_order = 'sequence, id'
_description = __doc__
name = fields.Char('Name', size=None, required=True, translate=True)
code = fields.Char('Code', size=None)
code = fields.Selection([
(None, ''),
('payable', 'Payable'),
('revenue', 'Revenue'),
('receivable', 'Receivable'),
('expense', 'Expense'),
('income', 'Income'),
('view', 'View'),
], 'Code')
parent = fields.Many2One('account.account.type', 'Parent')
childs = fields.One2Many('account.account.type', 'parent', 'Childs')
sequence = fields.Integer('Sequence', required=True,
help='Use to order the account type')
#TODO add constraint (only for end level)
account_type = fields.Boolean('Account Type',
help='Can be use as type for account')
partner_account = fields.Boolean('Partner account')
#TODO fix digits depend of the currency
amount = fields.Function('get_amount', digits=(16, 2), string='Amount')
def default_partner_account(self, cursor, user, context=None):
return False
balance_sheet = fields.Boolean('Balance Sheet')
income_statement = fields.Boolean('Income Statement')
def default_account_type(self, cursor, user, context=None):
return False
def default_balance_sheet(self, cursor, user, context=None):
return False
def default_income_statement(self, cursor, user, context=None):
return False
def get_amount(self, cursor, user, ids, name, arg, context=None):
company_obj = self.pool.get('company.company')
account_obj = self.pool.get('account.account')
@@ -797,9 +808,6 @@ class OpenBalanceSheet(Wizard):
},
}
def _get_root_codes(self, cursor, user, datas, context=None):
return ('asset', 'liability', 'equity')
def _action_open(self, cursor, user, datas, context=None):
if context is None:
context = {}
@@ -834,9 +842,6 @@ class OpenBalanceSheet(Wizard):
'posted': datas['form']['posted'],
'company': datas['form']['company'],
})
res['domain'] = res['domain'][:-1] + ', ' + \
str(('code', 'in', self._get_root_codes(cursor, user, datas,
context=context))) + res['domain'][-1]
res['name'] = res['name'] + ' - '+ date + ' - ' + company.name
return res
@@ -909,9 +914,6 @@ class OpenIncomeStatement(Wizard):
},
}
def _get_root_codes(self, cursor, user, datas, context=None):
return ('income',)
def _action_open(self, cursor, user, datas, context=None):
if context is None:
context = {}
@@ -957,9 +959,6 @@ class OpenIncomeStatement(Wizard):
'posted': datas['form']['posted'],
'company': datas['form']['company'],
})
res['domain'] = res['domain'][:-1] + ', ' + \
str(('code', 'in', self._get_root_codes(cursor, user, datas,
context=context))) + res['domain'][-1]
return res
OpenIncomeStatement()
+12 -14
View File
@@ -42,8 +42,12 @@
<field name="sequence"/>
<label name="account_type"/>
<field name="account_type"/>
<label name="partner_account"/>
<field name="partner_account"/>
<newline/>
<label name="balance_sheet"/>
<field name="balance_sheet"/>
<newline/>
<label name="income_statement"/>
<field name="income_statement"/>
</form>
]]>
</field>
@@ -57,8 +61,6 @@
<tree string="Account Types">
<field name="name" select="1"/>
<field name="code" select="1"/>
<field name="account_type" select="2"/>
<field name="partner_account" select="2"/>
</tree>
]]>
</field>
@@ -110,8 +112,8 @@
</record>
<record model="account.account.type" id="account_type_asset">
<field name="name">Asset</field>
<field name="code">asset</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>
@@ -120,7 +122,6 @@
</record>
<record model="account.account.type" id="account_type_asset_current_cash">
<field name="name">Cash</field>
<field name="code">cash</field>
<field name="parent" ref="account_type_asset_current"/>
<field name="sequence" eval="10"/>
<field name="account_type" eval="True"/>
@@ -129,7 +130,6 @@
<field name="name">Receivable</field>
<field name="code">receivable</field>
<field name="parent" ref="account_type_asset_current"/>
<field name="partner_account" eval="True"/>
<field name="sequence" eval="20"/>
<field name="account_type" eval="True"/>
</record>
@@ -140,8 +140,8 @@
</record>
<record model="account.account.type" id="account_type_liability">
<field name="name">Liability</field>
<field name="code">liability</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>
@@ -152,13 +152,11 @@
<field name="name">Payable</field>
<field name="code">payable</field>
<field name="parent" ref="account_type_liability_current"/>
<field name="partner_account" eval="True"/>
<field name="sequence" eval="10"/>
<field name="account_type" eval="True"/>
</record>
<record model="account.account.type" id="account_type_liability_current_tax">
<field name="name">Tax</field>
<field name="code">tax</field>
<field name="parent" ref="account_type_liability_current"/>
<field name="sequence" eval="20"/>
<field name="account_type" eval="True"/>
@@ -170,18 +168,18 @@
</record>
<record model="account.account.type" id="account_type_equity">
<field name="name">Equity</field>
<field name="code">equity</field>
<field name="sequence" eval="30"/>
<field name="account_type" eval="True"/>
<field name="balance_sheet" eval="True"/>
</record>
<record model="account.account.type" id="account_type_income">
<field name="name">Income</field>
<field name="code">income</field>
<field name="sequence" eval="40"/>
<field name="income_statement" eval="True"/>
</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="account_type" eval="True"/>
@@ -511,7 +509,7 @@
<field name="name">Balance Sheet</field>
<field name="res_model">account.account.type</field>
<field name="view_type">tree</field>
<field name="domain">[('parent', '=', False)]</field>
<field name="domain">[('parent', '=', False), ('balance_sheet', '=', True)]</field>
</record>
<record model="ir.action.act_window.view" id="act_balance_sheet_view1">
<field name="sequence" eval="10"/>
@@ -566,7 +564,7 @@
<field name="name">Income Statement</field>
<field name="res_model">account.account.type</field>
<field name="view_type">tree</field>
<field name="domain">[('parent', '=', False)]</field>
<field name="domain">[('parent', '=', False), ('income_statement', '=', True)]</field>
</record>
<record model="ir.action.act_window.view" id="act_income_statement_view1">
<field name="sequence" eval="10"/>