Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
2
sale_stock_partner_warehouse/models/__init__.py
Executable file
2
sale_stock_partner_warehouse/models/__init__.py
Executable file
@@ -0,0 +1,2 @@
|
||||
from . import res_partner
|
||||
from . import sale_order
|
||||
10
sale_stock_partner_warehouse/models/res_partner.py
Executable file
10
sale_stock_partner_warehouse/models/res_partner.py
Executable file
@@ -0,0 +1,10 @@
|
||||
# Copyright 2024 Camptocamp SA
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = "res.partner"
|
||||
|
||||
sale_warehouse_id = fields.Many2one("stock.warehouse", string="Sale Warehouse")
|
||||
23
sale_stock_partner_warehouse/models/sale_order.py
Executable file
23
sale_stock_partner_warehouse/models/sale_order.py
Executable file
@@ -0,0 +1,23 @@
|
||||
# Copyright 2024 Camptocamp SA
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class SaleOrder(models.Model):
|
||||
_inherit = "sale.order"
|
||||
|
||||
warehouse_id = fields.Many2one(
|
||||
compute="_compute_warehouse_id", store=True, precompute=True
|
||||
)
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_warehouse_id(self):
|
||||
sales_with_partner_warehouse = self.filtered(
|
||||
lambda sale: sale.state == "draft" and sale.partner_id.sale_warehouse_id
|
||||
)
|
||||
for sale in sales_with_partner_warehouse:
|
||||
sale.warehouse_id = sale.partner_id.sale_warehouse_id
|
||||
return super(
|
||||
SaleOrder, self - sales_with_partner_warehouse
|
||||
)._compute_warehouse_id()
|
||||
Reference in New Issue
Block a user