"Sequence and tree editable migration to 6.0 [SKIP CI]."

This commit is contained in:
Sergio Morillo 2021-06-08 16:30:59 +02:00
parent fe6e749598
commit 819d634aa8
5 changed files with 42 additions and 29 deletions

View File

@ -2,7 +2,7 @@
# this repository contains the full copyright notices and license terms.
from trytond.model import ModelSQL, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.pyson import Eval, Id
from trytond.transaction import Transaction
from trytond.modules.company.model import CompanyValueMixin
from trytond.tools.multivalue import migrate_property
@ -39,17 +39,21 @@ class Configuration(metaclass=PoolMeta):
__name__ = 'carrier.configuration'
load_sequence = fields.MultiValue(
fields.Many2One('ir.sequence', 'Load Sequence',
domain=[('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('code', '=', 'carrier.load')],
required=True))
fields.Many2One('ir.sequence', 'Load Sequence', required=True,
domain=[
('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('sequence_type', '=', Id('carrier_load',
'sequence_type_load'))
]))
load_order_sequence = fields.MultiValue(
fields.Many2One('ir.sequence', 'Load order Sequence',
domain=[('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('code', '=', 'carrier.load.order')],
required=True))
fields.Many2One('ir.sequence', 'Load order Sequence', required=True,
domain=[
('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('sequence_type', '=', Id('carrier_load',
'sequence_type_load_order'))
]))
load_purchasable = fields.Boolean('Load purchasable')
cmr_template = fields.Many2One('carrier.load.cmr.template', 'CMR Template')
cmr_copies = fields.Integer('CMR copies', required=True)
@ -169,13 +173,19 @@ class ConfigurationSequence(ModelSQL, CompanyValueMixin):
__name__ = 'carrier.configuration.sequence'
load_sequence = fields.Many2One('ir.sequence', 'Load Sequence',
domain=[('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('code', '=', 'carrier.load')], required=True)
domain=[
('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('sequence_type', '=', Id('carrier_load',
'sequence_type_load'))
], required=True)
load_order_sequence = fields.Many2One('ir.sequence', 'Load order Sequence',
domain=[('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('code', '=', 'carrier.load.order')], required=True)
domain=[
('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('sequence_type', '=', Id('carrier_load',
'sequence_type_load_order'))
], required=True)
default_load_sequence = default_sequence('sequence_load')
default_load_order_sequence = default_sequence('sequence_load_order')

View File

@ -14,7 +14,6 @@ this repository contains the full copyright notices and license terms. -->
<!-- Carrier load sequence -->
<record model="ir.sequence.type" id="sequence_type_load">
<field name="name">Carrier Load</field>
<field name="code">carrier.load</field>
</record>
<record model="ir.sequence.type-res.group"
id="sequence_type_carrier_in_group_admin">
@ -27,13 +26,13 @@ this repository contains the full copyright notices and license terms. -->
<field name="group" ref="carrier.group_carrier_admin"/>
</record>
<record model="ir.sequence" id="sequence_load">
<field name="name">Carrier Load</field>
<field name="code">carrier.load</field>
<field name="name">Carrier Load</field>
<field name="sequence_type" ref="sequence_type_load"/>
</record>
<!-- Carrier load order sequence -->
<record model="ir.sequence.type" id="sequence_type_load_order">
<field name="name">Carrier Load order</field>
<field name="code">carrier.load.order</field>
</record>
<record model="ir.sequence.type-res.group"
id="sequence_type_carrier_order_group_admin">
@ -46,8 +45,8 @@ this repository contains the full copyright notices and license terms. -->
<field name="group" ref="carrier.group_carrier_admin"/>
</record>
<record model="ir.sequence" id="sequence_load_order">
<field name="name">Carrier Load order</field>
<field name="code">carrier.load.order</field>
<field name="name">Carrier Load order</field>
<field name="sequence_type" ref="sequence_type_load_order"/>
</record>
</data>
</tryton>

12
load.py
View File

@ -349,14 +349,16 @@ class Load(Workflow, ModelView, ModelSQL, DockMixin, CMRInstructionsMixin):
@classmethod
def create(cls, vlist):
Sequence = Pool().get('ir.sequence')
Configuration = Pool().get('carrier.configuration')
vlist = [x.copy() for x in vlist]
config = Configuration(1)
default_company = cls.default_company()
for values in vlist:
if not values.get('code'):
values['code'] = Sequence.get_id(config.load_sequence.id)
values['code'] = config.get_multivalue(
'load_sequence',
company=values.get('company', default_company)).get()
return super(Load, cls).create(vlist)
@classmethod
@ -951,14 +953,16 @@ class LoadOrder(Workflow, ModelView, ModelSQL, IncotermDocumentMixin,
@classmethod
def create(cls, vlist):
Sequence = Pool().get('ir.sequence')
Configuration = Pool().get('carrier.configuration')
vlist = [x.copy() for x in vlist]
config = Configuration(1)
default_company = cls.default_company()
for values in vlist:
if not values.get('code'):
values['code'] = Sequence.get_id(config.load_order_sequence.id)
values['code'] = config.get_multivalue(
'load_order_sequence',
company=values.get('company', default_company)).get()
return super(LoadOrder, cls).create(vlist)
@classmethod

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!-- The COPYRIGHT file at the top level of this repository contains the full
copyright notices and license terms. -->
<tree editable="bottom">
<tree editable="1">
<field name="rule" widget="selection"/>
<field name="place"/>
<field name="version" tree_invisible="1"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!-- The COPYRIGHT file at the top level of this repository contains the full
copyright notices and license terms. -->
<tree editable="bottom">
<tree editable="1">
<field name="order"/>
<field name="origin"/>
<field name="product"/>