Replace XML default configuration to method

This commit is contained in:
Raimon Esteve 2022-03-01 16:03:34 +01:00
parent 8fc2e61745
commit 1d5d86bc72
2 changed files with 26 additions and 19 deletions

View File

@ -3,23 +3,21 @@
from trytond.model import fields, ModelSQL from trytond.model import fields, ModelSQL
from trytond.pyson import Eval, Id from trytond.pyson import Eval, Id
from trytond.pool import PoolMeta, Pool from trytond.pool import PoolMeta, Pool
from trytond.modules.company.model import ( from trytond.modules.company.model import CompanyValueMixin
CompanyMultiValueMixin, CompanyValueMixin)
__all__ = ['Configuration', 'ConfigurationProductcostPlan'] __all__ = ['Configuration', 'ConfigurationProductcostPlan']
class Configuration(CompanyMultiValueMixin, metaclass=PoolMeta): class Configuration(metaclass=PoolMeta):
__name__ = 'production.configuration' __name__ = 'production.configuration'
product_cost_plan_sequence = fields.MultiValue( product_cost_plan_sequence = fields.MultiValue(
fields.Many2One('ir.sequence', fields.Many2One('ir.sequence', "Product Cost Plan Sequence", required=True,
'Product Cost Plan Sequence', domain=[ domain=[
('company', 'in', ('company', 'in',
[Eval('context', {}).get('company', -1), None]), [Eval('context', {}).get('company', -1), None]),
('sequence_type', '=', Id('product_cost_plan', ('sequence_type', '=', Id('product_cost_plan',
'sequence_type_product_cost_plan')), 'sequence_type_product_cost_plan')),
], required=True)) ]))
@classmethod @classmethod
def multivalue_model(cls, field): def multivalue_model(cls, field):
@ -28,15 +26,29 @@ class Configuration(CompanyMultiValueMixin, metaclass=PoolMeta):
return pool.get('production.configuration.cost_plan') return pool.get('production.configuration.cost_plan')
return super(Configuration, cls).multivalue_model(field) return super(Configuration, cls).multivalue_model(field)
@classmethod
def default_product_cost_plan_sequence(cls, **pattern):
return cls.multivalue_model(
'product_cost_plan_sequence').default_product_cost_plan_sequence()
class ConfigurationProductcostPlan(ModelSQL, CompanyValueMixin): class ConfigurationProductcostPlan(ModelSQL, CompanyValueMixin):
"Production Configuration Cost Plan" "Production Configuration Cost Plan"
__name__ = 'production.configuration.cost_plan' __name__ = 'production.configuration.cost_plan'
product_cost_plan_sequence = fields.Many2One('ir.sequence', product_cost_plan_sequence = fields.Many2One('ir.sequence',
'Product Cost Plan Sequence', domain=[ "Product Cost Plan Sequence", required=True,
('company', 'in', domain=[
[Eval('context', {}).get('company', -1), None]), ('company', 'in', [Eval('company', -1), None]),
('sequence_type', '=', Id('product_cost_plan', ('sequence_type', '=', Id('product_cost_plan',
'sequence_type_product_cost_plan')), 'sequence_type_product_cost_plan')),
], required=True) ], depends=['company'])
@classmethod
def default_product_cost_plan_sequence(cls):
pool = Pool()
ModelData = pool.get('ir.model.data')
try:
return ModelData.get_id('product_cost_plan',
'sequence_product_cost_plan')
except KeyError:
return None

View File

@ -9,9 +9,4 @@ this repository contains the full copyright notices and license terms. -->
<field name="inherit" ref="production.production_configuration_view_form"/> <field name="inherit" ref="production.production_configuration_view_form"/>
</record> </record>
</data> </data>
<data noupdate="1">
<record model="production.configuration" id="configuration_product_cost_plan_sequence">
<field name="product_cost_plan_sequence" ref="sequence_product_cost_plan"/>
</record>
</data>
</tryton> </tryton>