first commit
This commit is contained in:
56
modules/analytic_account/rule.py
Normal file
56
modules/analytic_account/rule.py
Normal file
@@ -0,0 +1,56 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.model import (
|
||||
MatchMixin, ModelSQL, ModelView, fields, sequence_ordered)
|
||||
from trytond.pyson import Eval
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
from .account import AnalyticMixin
|
||||
|
||||
|
||||
class Rule(sequence_ordered(), MatchMixin, AnalyticMixin, ModelSQL, ModelView):
|
||||
__name__ = 'analytic_account.rule'
|
||||
|
||||
company = fields.Many2One(
|
||||
'company.company', "Company", required=True)
|
||||
account = fields.Many2One(
|
||||
'account.account', "Account",
|
||||
domain=[
|
||||
('company', '=', Eval('company', -1)),
|
||||
('type', '!=', None),
|
||||
('closed', '!=', True),
|
||||
])
|
||||
party = fields.Many2One(
|
||||
'party.party', "Party",
|
||||
states={
|
||||
'invisible': ~Eval('party_visible'),
|
||||
},
|
||||
context={
|
||||
'company': Eval('company', -1),
|
||||
},
|
||||
depends={'company'})
|
||||
party_visible = fields.Function(fields.Boolean("Party Visible"),
|
||||
'on_change_with_party_visible')
|
||||
journal = fields.Many2One(
|
||||
'account.journal', "Journal",
|
||||
context={
|
||||
'company': Eval('company', -1),
|
||||
},
|
||||
depends={'company'})
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.analytic_accounts.domain = [
|
||||
('company', '=', Eval('company', -1)),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def default_company(cls):
|
||||
return Transaction().context.get('company')
|
||||
|
||||
@fields.depends('account')
|
||||
def on_change_with_party_visible(self, name=None):
|
||||
if self.account:
|
||||
return self.account.party_required
|
||||
return False
|
||||
Reference in New Issue
Block a user