3
3
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
4
4
5
5
6
+ import logging
7
+
6
8
from odoo import _
7
9
from odoo .exceptions import UserError
8
10
9
11
from odoo .addons .component .core import Component
10
12
13
+ _logger = logging .getLogger (__name__ )
14
+
11
15
12
16
class EDIExchangeSOInput (Component ):
13
17
"""Process sale orders."""
@@ -16,6 +20,21 @@ class EDIExchangeSOInput(Component):
16
20
_inherit = "edi.component.input.mixin"
17
21
_usage = "input.process.sale.order"
18
22
23
+ def __init__ (self , work_context ):
24
+ super ().__init__ (work_context )
25
+ self .settings = {}
26
+ # Suppor legacy key `self.type_settings`
27
+ for key in ("sale_order" , "sale_order_import" ):
28
+ if key in self .type_settings :
29
+ _logger .warning (
30
+ "Deprecated key %s for %s. "
31
+ "Please use default field values in env_ctx" ,
32
+ key ,
33
+ self ._usage ,
34
+ )
35
+ self .settings = self .type_settings .get (key , {})
36
+ break
37
+
19
38
def process (self ):
20
39
wiz = self ._setup_wizard ()
21
40
res = wiz .import_order_button ()
@@ -53,8 +72,19 @@ def _setup_wizard(self):
53
72
wiz .order_file = self .exchange_record ._get_file_content (binary = False )
54
73
wiz .order_filename = self .exchange_record .exchange_filename
55
74
wiz .order_file_change ()
75
+ wiz .price_source = self ._get_default_price_source ()
76
+ wiz .confirm_order = self ._order_should_be_confirmed ()
56
77
return wiz
57
78
79
+ # Deprecated: use default field values in env_ctx
80
+ # as these settings are supported by sale_order_import model.
81
+ def _get_default_price_source (self ):
82
+ return self .settings .get ("price_source" , "pricelist" )
83
+
84
+ # Deprecated: use default field values in env_ctx
85
+ def _order_should_be_confirmed (self ):
86
+ return self .settings .get ("confirm_order" , False )
87
+
58
88
def _handle_create_order (self , order_id ):
59
89
order = self .env ["sale.order" ].browse (order_id )
60
90
self .exchange_record ._set_related_record (order )
0 commit comments