Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
37
sale_manual_delivery/models/stock_move.py
Executable file
37
sale_manual_delivery/models/stock_move.py
Executable file
@@ -0,0 +1,37 @@
|
||||
# Copyright 2017 Denis Leemann, Camptocamp SA
|
||||
# Copyright 2021 Iván Todorovich, Camptocamp SA
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class StockMove(models.Model):
|
||||
_inherit = "stock.move"
|
||||
|
||||
def _get_new_picking_values(self):
|
||||
# Overload to set carrier_id from the manual delivery wizard
|
||||
# Note: sale_manual_delivery is expected to be a manual.delivery record
|
||||
res = super()._get_new_picking_values()
|
||||
manual_delivery = self.env.context.get("sale_manual_delivery")
|
||||
if manual_delivery:
|
||||
if manual_delivery.partner_id:
|
||||
res["partner_id"] = manual_delivery.partner_id.id
|
||||
if manual_delivery.carrier_id:
|
||||
res["carrier_id"] = manual_delivery.carrier_id.id
|
||||
return res
|
||||
|
||||
def _search_picking_for_assignation(self):
|
||||
# Overload to filter carrier_id
|
||||
# Note: sale_manual_delivery is expected to be a manual.delivery record
|
||||
manual_delivery = self.env.context.get("sale_manual_delivery")
|
||||
if manual_delivery:
|
||||
# original domain used in super()
|
||||
domain = self._search_picking_for_assignation_domain()
|
||||
# Filter on carrier
|
||||
if manual_delivery.carrier_id:
|
||||
domain += [
|
||||
("carrier_id", "=", manual_delivery.carrier_id.id),
|
||||
]
|
||||
return self.env["stock.picking"].search(domain, limit=1)
|
||||
else:
|
||||
return super()._search_picking_for_assignation()
|
||||
Reference in New Issue
Block a user