oca-purchase/odoo-bringout-oca-purchase-workflow-supplier_calendar/supplier_calendar/models/stock_rule.py
Ernad Husremovic 7378b233e9 Add oca-purchase submodule with 96 purchase modules moved from oca-workflow-process
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 18:00:40 +02:00

24 lines
891 B
Python

# Copyright 2020 ForgeFlow S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
from dateutil.relativedelta import relativedelta
from odoo import fields, models
class StockRule(models.Model):
_inherit = "stock.rule"
def _prepare_purchase_order(self, company_id, origins, values):
res = super()._prepare_purchase_order(company_id, origins, values)
dates = [fields.Datetime.from_string(value["date_planned"]) for value in values]
values = values[0]
partner = values["supplier"].partner_id
procurement_date_planned = min(dates)
schedule_date = procurement_date_planned - relativedelta(
days=company_id.po_lead
)
delay = -1 * values["supplier"].delay
purchase_date = partner.supplier_plan_days(schedule_date, delay)
res["date_order"] = purchase_date
return res