mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-21 17:52:03 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
92
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/models/stock_rule.py
Normal file
92
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/models/stock_rule.py
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# Copyright 2018 Camptocamp (https://www.camptocamp.com)
|
||||
# Copyright 2019-20 ForgeFlow S.L. (http://www.forgeflow.com)
|
||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class StockRule(models.Model):
|
||||
_inherit = "stock.rule"
|
||||
|
||||
def _prepare_mo_vals(
|
||||
self,
|
||||
product_id,
|
||||
product_qty,
|
||||
product_uom,
|
||||
location_id,
|
||||
name,
|
||||
origin,
|
||||
company_id,
|
||||
values,
|
||||
bom,
|
||||
):
|
||||
result = super(StockRule, self)._prepare_mo_vals(
|
||||
product_id,
|
||||
product_qty,
|
||||
product_uom,
|
||||
location_id,
|
||||
name,
|
||||
origin,
|
||||
company_id,
|
||||
values,
|
||||
bom,
|
||||
)
|
||||
# TODO: stock_orderpoint_mrp_link: tests!
|
||||
if "buffer_id" in values:
|
||||
result["buffer_id"] = values["buffer_id"].id
|
||||
elif "buffer_ids" in values:
|
||||
# We take the always first value as in case of chain procurements,
|
||||
# the procurements are resolved first and then the moves are
|
||||
# merged. Thus here we are going to have only one buffer in
|
||||
# in buffer_ids.
|
||||
result["buffer_id"] = values["buffer_ids"][0].id
|
||||
return result
|
||||
|
||||
def _run_manufacture(self, procurements):
|
||||
super()._run_manufacture(procurements)
|
||||
for procurement, _rule in procurements:
|
||||
buffer = procurement.values.get("buffer_id")
|
||||
if buffer:
|
||||
buffer.sudo().cron_actions()
|
||||
return True
|
||||
|
||||
# TODO: stock_orderpoint_move_link: tests!
|
||||
def _get_stock_move_values(
|
||||
self,
|
||||
product_id,
|
||||
product_qty,
|
||||
product_uom,
|
||||
location_id,
|
||||
name,
|
||||
origin,
|
||||
company_id,
|
||||
values,
|
||||
):
|
||||
vals = super()._get_stock_move_values(
|
||||
product_id,
|
||||
product_qty,
|
||||
product_uom,
|
||||
location_id,
|
||||
name,
|
||||
origin,
|
||||
company_id,
|
||||
values,
|
||||
)
|
||||
if "buffer_id" in values:
|
||||
vals["buffer_ids"] = [(4, values["buffer_id"].id)]
|
||||
elif "buffer_ids" in values:
|
||||
vals["buffer_ids"] = [(4, o.id) for o in values["buffer_ids"]]
|
||||
return vals
|
||||
|
||||
def _update_purchase_order_line(
|
||||
self, product_id, product_qty, product_uom, company_id, values, line
|
||||
):
|
||||
vals = super()._update_purchase_order_line(
|
||||
product_id, product_qty, product_uom, company_id, values, line
|
||||
)
|
||||
if "buffer_id" in values:
|
||||
vals["buffer_ids"] = [(4, values["buffer_id"].id)]
|
||||
# If the procurement was run by a stock move.
|
||||
elif "buffer_ids" in values:
|
||||
vals["buffer_ids"] = [(4, o.id) for o in values["buffer_ids"]]
|
||||
return vals
|
||||
Loading…
Add table
Add a link
Reference in a new issue