changeset c8ca9b7062b9 in modules/account_asset:default
details:
https://hg.tryton.org/modules/account_asset?cmd=changeset;node=c8ca9b7062b9
description:
Add configuration values for frequency
issue8987
review260821002
diffstat:
CHANGELOG | 1 +
__init__.py | 1 +
account.py | 31 +++++++++++++++++++++++++++++++
asset.py | 8 +++++---
view/configuration_form.xml | 2 ++
5 files changed, 40 insertions(+), 3 deletions(-)
diffs (111 lines):
diff -r 6aefa4fe2033 -r c8ca9b7062b9 CHANGELOG
--- a/CHANGELOG Fri Dec 06 17:33:46 2019 +0100
+++ b/CHANGELOG Wed Jan 29 22:24:40 2020 +0100
@@ -1,3 +1,4 @@
+* Add configuration value for frequency
* Use fixed year of 365 days
Version 5.4.0 - 2019-11-04
diff -r 6aefa4fe2033 -r c8ca9b7062b9 __init__.py
--- a/__init__.py Fri Dec 06 17:33:46 2019 +0100
+++ b/__init__.py Wed Jan 29 22:24:40 2020 +0100
@@ -25,6 +25,7 @@
account.Configuration,
account.ConfigurationAssetSequence,
account.ConfigurationAssetDate,
+ account.ConfigurationAssetFrequency,
account.AccountTypeTemplate,
account.AccountType,
account.Move,
diff -r 6aefa4fe2033 -r c8ca9b7062b9 account.py
--- a/account.py Fri Dec 06 17:33:46 2019 +0100
+++ b/account.py Wed Jan 29 22:24:40 2020 +0100
@@ -29,6 +29,18 @@
('12', "December"),
], "Month", sort=False,
help="The month to create the depreciation moves.")
+asset_frequency = fields.Selection('get_asset_frequencies',
+ "Asset Depreciation Frequency",
+ required=True, help="The default depreciation frequency for new assets.")
+
+
+def get_asset_selection(field_name):
+ @classmethod
+ def get_selection(cls):
+ pool = Pool()
+ Asset = pool.get('account.asset')
+ return Asset.fields_get([field_name])[field_name]['selection']
+ return get_selection
class Configuration(metaclass=PoolMeta):
@@ -42,6 +54,9 @@
]))
asset_bymonthday = fields.MultiValue(asset_bymonthday)
asset_bymonth = fields.MultiValue(asset_bymonth)
+ asset_frequency = fields.MultiValue(asset_frequency)
+
+ get_asset_frequencies = get_asset_selection('frequency')
@classmethod
def multivalue_model(cls, field):
@@ -63,6 +78,11 @@
def default_asset_bymonth(cls, **pattern):
return cls.multivalue_model('asset_bymonth').default_asset_bymonth()
+ @classmethod
+ def default_asset_frequency(cls, **pattern):
+ return cls.multivalue_model(
+ 'asset_frequency').default_asset_frequency()
+
class ConfigurationAssetSequence(ModelSQL, CompanyValueMixin):
"Account Configuration Asset Sequence"
@@ -118,6 +138,17 @@
return "12"
+class ConfigurationAssetFrequency(ModelSQL, CompanyValueMixin):
+ "Account Configuration Asset Frequency"
+ __name__ = 'account.configuration.asset_frequency'
+ asset_frequency = asset_frequency
+ get_asset_frequencies = get_asset_selection('frequency')
+
+ @classmethod
+ def default_asset_frequency(cls):
+ return 'monthly'
+
+
def AccountTypeMixin(template=False):
class Mixin:
diff -r 6aefa4fe2033 -r c8ca9b7062b9 asset.py
--- a/asset.py Fri Dec 06 17:33:46 2019 +0100
+++ b/asset.py Wed Jan 29 22:24:40 2020 +0100
@@ -260,9 +260,11 @@
def default_state():
return 'draft'
- @staticmethod
- def default_frequency():
- return 'monthly'
+ @classmethod
+ def default_frequency(cls, **pattern):
+ pool = Pool()
+ Configuration = pool.get('account.configuration')
+ return Configuration(1).get_multivalue('asset_frequency', **pattern)
@staticmethod
def default_depreciation_method():
diff -r 6aefa4fe2033 -r c8ca9b7062b9 view/configuration_form.xml
--- a/view/configuration_form.xml Fri Dec 06 17:33:46 2019 +0100
+++ b/view/configuration_form.xml Wed Jan 29 22:24:40 2020 +0100
@@ -6,6 +6,8 @@
<separator id="asset" string="Asset" colspan="4"/>
<label name="asset_sequence" string="Sequence"/>
<field name="asset_sequence"/>
+ <label name="asset_frequency" string="Depreciation Frequency"/>
+ <field name="asset_frequency"/>
<separator id="asset_move" string="Asset Move" colspan="4"/>
<label name="asset_bymonthday"/>
<field name="asset_bymonthday"/>