mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
# Copyright 2020 Jarsa Sistemas, S.A. de C.V.
|
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
|
|
|
|
from odoo import _, api, fields, models
|
|
from odoo.exceptions import ValidationError
|
|
|
|
|
|
class StockRequest(models.Model):
|
|
_inherit = "stock.request"
|
|
|
|
partner_id = fields.Many2one(
|
|
"res.partner", states={"draft": [("readonly", False)]}, readonly=True
|
|
)
|
|
|
|
def _prepare_procurement_values(self, group_id=False):
|
|
res = super()._prepare_procurement_values(group_id)
|
|
if self.partner_id:
|
|
name = self.name
|
|
if self.order_id:
|
|
name = self.order_id.name
|
|
group = self.env["procurement.group"].search([("name", "=", name)])
|
|
if not group:
|
|
group = self.env["procurement.group"].create(
|
|
{
|
|
"name": name,
|
|
"partner_id": self.partner_id.id,
|
|
"move_type": self.picking_policy,
|
|
}
|
|
)
|
|
res["group_id"] = group
|
|
return res
|
|
|
|
@api.constrains("order_id", "partner_id")
|
|
def check_order_partner_id(self):
|
|
if self.order_id and self.order_id.partner_id != self.partner_id:
|
|
raise ValidationError(_("Partner must be equal to the order"))
|