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

This commit is contained in:
Sergio Morillo 2021-06-08 16:35:17 +02:00
parent 8b81ff77d4
commit e07003414c
4 changed files with 27 additions and 12 deletions

View File

@ -2,6 +2,7 @@
# copyright notices and license terms.
from trytond.model import ModelSQL, ModelSingleton, ModelView, fields
from trytond.pool import Pool
from trytond.pyson import Id
from trytond.modules.company.model import (
CompanyMultiValueMixin, CompanyValueMixin)
@ -15,7 +16,10 @@ class Configuration(
edocument_sequence = fields.MultiValue(
fields.Many2One('ir.sequence', 'Electronic Document Sequence',
required=True))
required=True, domain=[
('sequence_type', '=', Id('edocument_edifact',
'sequence_type_edocument'))
]))
export_path = fields.Char('Export Path')
import_path = fields.Char('Import Path')
error_path = fields.Char('Error Path')
@ -33,7 +37,11 @@ class ConfigurationSequence(ModelSQL, CompanyValueMixin):
__name__ = 'edocument.configuration.sequence'
edocument_sequence = fields.Many2One(
'ir.sequence', 'Electronic Document Sequence', required=True)
'ir.sequence', 'Electronic Document Sequence', required=True,
domain=[
('sequence_type', '=', Id('edocument_edifact',
'sequence_type_edocument'))
])
@classmethod
def default_edocument_sequence(cls):

View File

@ -4,6 +4,7 @@ from trytond.model import ModelSQL, ModelView, fields, Exclude
from sql.conditionals import Coalesce
from sql.operators import Equal as SqlEqual
from trytond.pool import Pool
from trytond.transaction import Transaction
from io import open
import oyaml as yaml
import os
@ -16,7 +17,6 @@ KNOWN_EXTENSIONS = ['.txt', '.edi', '.pla']
class EdocumentTemplate(ModelView, ModelSQL):
"""Electronic Document Template"""
__name__ = 'edocument.template'
rec_name = fields.Function(fields.Char('Record Name'), 'get_rec_name')
message_type = fields.Selection([('DESADV', 'DESADV'),
('INVOIC', 'INVOIC')], 'Document', required=True)
@ -49,7 +49,6 @@ class EdocumentTemplate(ModelView, ModelSQL):
class EdocumentMessage(ModelView, ModelSQL):
"""EDIFACT message"""
__name__ = 'edocument.message'
rec_name = fields.Function(fields.Char('Record Name'), 'get_rec_name')
code = fields.Char('Code')
message = fields.Text('Message')
@ -77,17 +76,19 @@ class EdocumentMessage(ModelView, ModelSQL):
def create(cls, vlist):
pool = Pool()
Configuration = pool.get('edocument.configuration')
Sequence = Pool().get('ir.sequence')
config = Configuration(1)
default_company = Transaction().context.get('company', None)
vlist = [x.copy() for x in vlist]
for values in vlist:
if config.edocument_sequence:
values['code'] = Sequence.get_id(config.edocument_sequence.id)
values['code'] = config.get_multivalue(
'edocument_sequence',
company=values.get('company', default_company)).get()
return super(EdocumentMessage, cls).create(vlist)
class EdocumentMixin():
class EdocumentMixin(object):
messages = fields.One2Many('edocument.message', 'origin', 'Message')
edocument_processed = fields.Function(
fields.Boolean('Processed'), 'get_edocument_processed',
@ -199,7 +200,7 @@ class EdocumentImportMixin(EdocumentMixin):
return results
class EdocumentFileManager():
class EdocumentFileManager(object):
''' Imports EDI objects from a folder '''
@classmethod

View File

@ -5,7 +5,6 @@
<data>
<record model="ir.sequence.type" id="sequence_type_edocument">
<field name="name">Electronic Document</field>
<field name="code">edocument.message</field>
</record>
<record model="ir.sequence.type-res.group"
id="sequence_type_edocument_group_admin">
@ -14,7 +13,7 @@
</record>
<record model="ir.sequence" id="sequence_edocument">
<field name="name">Electronic Document sequence</field>
<field name="code">edocument.message</field>
<field name="sequence_type" ref="sequence_type_edocument"/>
</record>
<!-- Edocument Template -->

View File

@ -2,6 +2,7 @@
# this repository contains the full copyright notices and license terms.
from trytond.model import fields, ModelSQL
from trytond.pool import PoolMeta, Pool
from trytond.pyson import Id
from trytond.tools.multivalue import migrate_property
from trytond.modules.company.model import CompanyValueMixin
from trytond.modules.product_ean.tools import get_control_digit
@ -16,7 +17,10 @@ class Configuration(metaclass=PoolMeta):
edocument_sequence = fields.MultiValue(
fields.Many2One('ir.sequence', 'Electronic Document Sequence',
required=True))
required=True, domain=[
('sequence_type', '=', Id('edocument_edifact',
'sequence_type_edocument'))
]))
EDI_output_path = fields.MultiValue(fields.Char('EDI Output Path'))
@classmethod
@ -38,7 +42,10 @@ class ConfigurationSequence(metaclass=PoolMeta):
__name__ = 'stock.configuration.sequence'
edocument_sequence = fields.Many2One('ir.sequence',
'Electronic Document Sequence', required=True)
'Electronic Document Sequence', required=True, domain=[
('sequence_type', '=', Id('edocument_edifact',
'sequence_type_edocument'))
])
@classmethod
def __register__(cls, module_name):