diff --git a/modules/purchase_trade/__init__.py b/modules/purchase_trade/__init__.py index 496f674..9924bf2 100755 --- a/modules/purchase_trade/__init__.py +++ b/modules/purchase_trade/__init__.py @@ -191,10 +191,12 @@ def register(): weight_report.WeightReport, module='purchase', type_='model') Pool.register( - account.Configuration, - account.ConfigurationDefaultAccount, account.PhysicalTradeIFRS, module='purchase_trade', type_='model') + Pool.register( + configuration.AccountConfiguration, + configuration.AccountConfigurationDefaultAccount, + module='purchase_trade', type_='model') Pool.register( invoice.Invoice, invoice.InvoiceLine, diff --git a/modules/purchase_trade/account.py b/modules/purchase_trade/account.py index 7c213b9..e439918 100644 --- a/modules/purchase_trade/account.py +++ b/modules/purchase_trade/account.py @@ -1,63 +1,12 @@ from trytond.model import ModelSQL, ModelView, fields -from trytond.pool import Pool, PoolMeta -from trytond.pyson import Eval +from trytond.pool import PoolMeta __all__ = [ - 'Configuration', - 'ConfigurationDefaultAccount', 'PhysicalTradeIFRS', ] __metaclass__ = PoolMeta -class Configuration(metaclass=PoolMeta): - __name__ = 'account.configuration' - - default_sale_padding_account = fields.MultiValue(fields.Many2One( - 'account.account', "Default Sale Padding", - domain=[ - ('closed', '!=', True), - ('type.revenue', '=', True), - ('company', '=', Eval('context', {}).get('company', -1)), - ])) - default_accrual_padding_account = fields.MultiValue(fields.Many2One( - 'account.account', "Default Accrual Padding", - domain=[ - ('closed', '!=', True), - ('type.statement', '=', 'balance'), - ('company', '=', Eval('context', {}).get('company', -1)), - ])) - - @classmethod - def multivalue_model(cls, field): - pool = Pool() - if field in { - 'default_sale_padding_account', - 'default_accrual_padding_account', - }: - return pool.get('account.configuration.default_account') - return super().multivalue_model(field) - - -class ConfigurationDefaultAccount(metaclass=PoolMeta): - __name__ = 'account.configuration.default_account' - - default_sale_padding_account = fields.Many2One( - 'account.account', "Default Sale Padding", - domain=[ - ('closed', '!=', True), - ('type.revenue', '=', True), - ('company', '=', Eval('company', -1)), - ]) - default_accrual_padding_account = fields.Many2One( - 'account.account', "Default Accrual Padding", - domain=[ - ('closed', '!=', True), - ('type.statement', '=', 'balance'), - ('company', '=', Eval('company', -1)), - ]) - - class PhysicalTradeIFRS(ModelSQL, ModelView): 'Physical Trade - IFRS Adjustment' __name__ = 'account.physical_trade_ifrs' diff --git a/modules/purchase_trade/account.xml b/modules/purchase_trade/account.xml index 23844f2..a3da172 100644 --- a/modules/purchase_trade/account.xml +++ b/modules/purchase_trade/account.xml @@ -3,7 +3,7 @@ account.configuration - + account_configuration_form diff --git a/modules/purchase_trade/configuration.py b/modules/purchase_trade/configuration.py index 503fc2a..b44e696 100644 --- a/modules/purchase_trade/configuration.py +++ b/modules/purchase_trade/configuration.py @@ -1,8 +1,57 @@ from trytond.model import ModelSingleton, ModelSQL, ModelView, fields -from trytond.pool import Pool +from trytond.pool import Pool, PoolMeta +from trytond.pyson import Eval from trytond.transaction import Transaction +class AccountConfiguration(metaclass=PoolMeta): + __name__ = 'account.configuration' + + default_sale_padding_account = fields.MultiValue(fields.Many2One( + 'account.account', "Default Sale Padding", + domain=[ + ('closed', '!=', True), + ('type.revenue', '=', True), + ('company', '=', Eval('context', {}).get('company', -1)), + ])) + default_accrual_padding_account = fields.MultiValue(fields.Many2One( + 'account.account', "Default Accrual Padding", + domain=[ + ('closed', '!=', True), + ('type.statement', '=', 'balance'), + ('company', '=', Eval('context', {}).get('company', -1)), + ])) + + @classmethod + def multivalue_model(cls, field): + pool = Pool() + if field in { + 'default_sale_padding_account', + 'default_accrual_padding_account', + }: + return pool.get('account.configuration.default_account') + return super().multivalue_model(field) + + +class AccountConfigurationDefaultAccount(metaclass=PoolMeta): + __name__ = 'account.configuration.default_account' + + default_sale_padding_account = fields.Many2One( + 'account.account', "Default Sale Padding", + domain=[ + ('closed', '!=', True), + ('type.revenue', '=', True), + ('company', '=', Eval('company', -1)), + ]) + default_accrual_padding_account = fields.Many2One( + 'account.account', "Default Accrual Padding", + domain=[ + ('closed', '!=', True), + ('type.statement', '=', 'balance'), + ('company', '=', Eval('company', -1)), + ]) + + class Configuration(ModelSingleton, ModelSQL, ModelView): "Purchase Trade Configuration" __name__ = 'purchase_trade.configuration' diff --git a/modules/purchase_trade/view/account_configuration_form.xml b/modules/purchase_trade/view/account_configuration_form.xml index 8454452..4354217 100644 --- a/modules/purchase_trade/view/account_configuration_form.xml +++ b/modules/purchase_trade/view/account_configuration_form.xml @@ -1,7 +1,8 @@ - + +