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:
1 parent
c2fdd6e852
commit
c3fe7eca74
2 files changed
+29
-32
No files matched your search
+17
-18
@@ -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
@@ -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"/>
|
||||
|
||||
Reference in new issue
Block a user