@@ -24,9 +24,9 @@ def _check_and_update_child_order(self, sale_order, product_id, add_qty, set_qty
24
24
product_company_id = product_id .company_id .id
25
25
order_company = sale_order .company_id
26
26
website_id = sale_order .website_id
27
- if not website_id .order_duplicating or not \
27
+ if not website_id .split_orders or not \
28
28
(product_company_id and product_company_id != order_company .id and
29
- (product_company_id in website_id .order_duplicating_companies .ids or force or (not add_qty and set_qty == 0 ))):
29
+ (product_company_id in website_id .split_orders_companies .ids or force or (not add_qty and set_qty == 0 ))):
30
30
return False
31
31
sale_order_child = sale_order .order_child_ids .filtered (lambda so : so .company_id .id == product_company_id )
32
32
if not sale_order_child :
@@ -45,14 +45,14 @@ def _check_and_update_child_order(self, sale_order, product_id, add_qty, set_qty
45
45
_logger .info ("website_sale created new child order for company: %s for order: %s" ,
46
46
product_company_id , sale_order .id )
47
47
48
- if set_qty == 0 and not add_qty :
49
- deleted_order_lines = sale_order_child .order_line .filtered (lambda ol : ol .product_id == product_id )
50
- deleted_order_lines .unlink ()
51
- return sale_order_child
48
+ # if set_qty == 0 and not add_qty:
49
+ # deleted_order_lines = sale_order_child.order_line.filtered(lambda ol: ol.product_id == product_id)
50
+ # deleted_order_lines.unlink()
51
+ # return sale_order_child
52
+
52
53
product_custom_attribute_values = None
53
54
if kw .get ('product_custom_attribute_values' ):
54
55
product_custom_attribute_values = json .loads (kw .get ('product_custom_attribute_values' ))
55
-
56
56
no_variant_attribute_values = None
57
57
if kw .get ('no_variant_attribute_values' ):
58
58
no_variant_attribute_values = json .loads (kw .get ('no_variant_attribute_values' ))
@@ -64,39 +64,42 @@ def _check_and_update_child_order(self, sale_order, product_id, add_qty, set_qty
64
64
product_custom_attribute_values = product_custom_attribute_values ,
65
65
no_variant_attribute_values = no_variant_attribute_values
66
66
)
67
+ sale_order .order_line .filtered (lambda ol : ol .product_id == product_id ).unlink ()
67
68
return sale_order_child
68
69
69
70
@http .route ()
70
71
def cart_update (self , product_id , add_qty = 1 , set_qty = 0 , ** kw ):
71
72
result = super (WebsiteSaleExtended , self ).cart_update (product_id , add_qty , set_qty , ** kw )
72
73
73
- sale_order = request .website .sale_get_order ()
74
- prod_id = request .env ['product.product' ].browse (int (product_id ))
75
- self ._check_and_update_child_order (sale_order , prod_id , add_qty , set_qty , ** kw )
74
+ if add_qty :
75
+ sale_order = request .website .sale_get_order ()
76
+ prod_id = request .env ['product.product' ].browse (int (product_id ))
77
+ self ._check_and_update_child_order (sale_order , prod_id , add_qty , set_qty , ** kw )
76
78
77
79
return result
78
80
79
81
@http .route ()
80
82
def cart_update_json (self , product_id , line_id = None , add_qty = None , set_qty = None , display = True ):
81
83
result = super (WebsiteSaleExtended , self ).cart_update_json (product_id , line_id , add_qty , set_qty , display )
82
84
83
- sale_order = request .website .sale_get_order ()
84
- prod_id = request .env ['product.product' ].browse (int (product_id ))
85
- self ._check_and_update_child_order (sale_order , prod_id , add_qty , set_qty )
85
+ if set_qty :
86
+ sale_order = request .website .sale_get_order ()
87
+ prod_id = request .env ['product.product' ].browse (int (product_id ))
88
+ self ._check_and_update_child_order (sale_order , prod_id , add_qty , set_qty )
86
89
87
90
return result
88
91
89
- @http .route (['/shop/duplicate_orders_for_daughter_companies /<int:company_id>' ],
92
+ @http .route (['/shop/split_order_for_daughter_companies /<int:company_id>' ],
90
93
type = 'json' , auth = "public" , methods = ['POST' ], website = True , csrf = False )
91
- def duplicate_orders_for_daughter_companies (self , company_id = False ):
94
+ def split_order_for_daughter_companies (self , company_id = False ):
92
95
order = request .website .sale_get_order ()
93
96
lines = order .order_line .filtered (lambda ol : ol .product_id .company_id .id == company_id )
94
97
if not lines :
95
98
return False
96
99
result = []
97
100
for line in lines :
98
101
prod = line .product_id
99
- result .append (self ._check_and_update_child_order (order , prod , False , line .product_uom_qty , 'Force' ))
102
+ result .append (self ._check_and_update_child_order (order , prod , line .product_uom_qty , False , 'Force' ))
100
103
return all (result )
101
104
102
105
0 commit comments