[13.0][MIG] mrp_multi_level

This commit is contained in:
Lois Rilo
2019-12-18 09:46:15 +01:00
committed by joan
parent a6110eed2d
commit e00acc3ee6
25 changed files with 178 additions and 236 deletions

View File

@@ -1,10 +1,10 @@
# © 2016 Ucamco - Wim Audenaert <wim.audenaert@ucamco.com>
# © 2016-19 Eficent Business and IT Consulting Services S.L.
# - Jordi Ballester Alomar <jordi.ballester@eficent.com>
# - Lois Rilo Antelo <lois.rilo@eficent.com>
# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com)
# - Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
# - Lois Rilo Antelo <lois.rilo@forgeflow.com>
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import api, fields, models
from odoo import fields, models
class MrpArea(models.Model):
@@ -28,7 +28,6 @@ class MrpArea(models.Model):
related="warehouse_id.calendar_id",
)
@api.multi
def _get_locations(self):
self.ensure_one()
return self.env["stock.location"].search(

View File

@@ -1,7 +1,7 @@
# © 2016 Ucamco - Wim Audenaert <wim.audenaert@ucamco.com>
# Copyright 2016-19 Eficent Business and IT Consulting Services S.L.
# - Jordi Ballester Alomar <jordi.ballester@eficent.com>
# - Lois Rilo Antelo <lois.rilo@eficent.com>
# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com)
# - Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
# - Lois Rilo Antelo <lois.rilo@forgeflow.com>
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from datetime import date, timedelta
@@ -63,7 +63,6 @@ class MrpInventory(models.Model):
comodel_name="mrp.planned.order", inverse_name="mrp_inventory_id", readonly=True
)
@api.multi
def _compute_uom_id(self):
for rec in self:
rec.uom_id = rec.product_mrp_area_id.product_id.uom_id
@@ -75,7 +74,6 @@ class MrpInventory(models.Model):
rec.planned_order_ids.mapped("qty_released")
)
@api.multi
@api.depends(
"product_mrp_area_id",
"product_mrp_area_id.main_supplierinfo_id",

View File

@@ -1,5 +1,5 @@
# © 2016 Ucamco - Wim Audenaert <wim.audenaert@ucamco.com>
# © 2016-18 Eficent Business and IT Consulting Services S.L.
# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models

View File

@@ -1,5 +1,5 @@
# Copyright 2019 Eficent Business and IT Consulting Services S.L.
# - Lois Rilo Antelo <lois.rilo@eficent.com>
# Copyright 2019 ForgeFlow S.L. (https://www.forgeflow.com)
# - Lois Rilo Antelo <lois.rilo@forgeflow.com>
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models

View File

@@ -1,7 +1,7 @@
# Copyright 2016 Ucamco - Wim Audenaert <wim.audenaert@ucamco.com>
# Copyright 2016-19 Eficent Business and IT Consulting Services S.L.
# - Jordi Ballester Alomar <jordi.ballester@eficent.com>
# - Lois Rilo Antelo <lois.rilo@eficent.com>
# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com)
# - Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
# - Lois Rilo Antelo <lois.rilo@forgeflow.com>
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from math import ceil
@@ -104,7 +104,6 @@ class ProductMRPArea(models.Model):
)
]
@api.multi
@api.constrains(
"mrp_minimum_order_qty",
"mrp_maximum_order_qty",
@@ -126,14 +125,15 @@ class ProductMRPArea(models.Model):
if any(v < 0 for v in rec.values()):
raise ValidationError(_("You cannot use a negative number."))
@api.multi
def name_get(self):
return [
(area.id, "[{}] {}".format(area.mrp_area_id.name, area.product_id.display_name))
(
area.id,
"[{}] {}".format(area.mrp_area_id.name, area.product_id.display_name),
)
for area in self
]
@api.multi
def _compute_mrp_lead_time(self):
produced = self.filtered(lambda r: r.supply_method == "manufacture")
purchased = self.filtered(lambda r: r.supply_method == "buy")
@@ -145,14 +145,12 @@ class ProductMRPArea(models.Model):
for rec in self - produced - purchased:
rec.mrp_lead_time = 0
@api.multi
def _compute_qty_available(self):
for rec in self:
rec.qty_available = rec.product_id.with_context(
{"location": rec.mrp_area_id.location_id.id}
).qty_available
@api.multi
def _compute_supply_method(self):
group_obj = self.env["procurement.group"]
for rec in self:
@@ -165,7 +163,6 @@ class ProductMRPArea(models.Model):
rule = group_obj._get_rule(rec.product_id, proc_loc, values)
rec.supply_method = rule.action if rule else "none"
@api.multi
@api.depends("supply_method", "product_id.route_ids", "product_id.seller_ids")
def _compute_main_supplier(self):
"""Simplified and similar to procurement.rule logic."""
@@ -178,7 +175,6 @@ class ProductMRPArea(models.Model):
rec.main_supplierinfo_id = suppliers[0]
rec.main_supplier_id = suppliers[0].name
@api.multi
def _adjust_qty_to_order(self, qty_to_order):
self.ensure_one()
if (

View File

@@ -1,9 +1,10 @@
# Copyright 2016 Ucamco - Wim Audenaert <wim.audenaert@ucamco.com>
# Copyright 2016-18 Eficent Business and IT Consulting Services S.L.
# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
import ast
from odoo import api, fields, models
from odoo import fields, models
class Product(models.Model):
@@ -32,12 +33,10 @@ class Product(models.Model):
compute="_compute_mrp_area_count",
)
@api.multi
def _compute_mrp_area_count(self):
for rec in self:
rec.mrp_area_count = len(rec.mrp_area_ids)
@api.multi
def action_view_mrp_area_parameters(self):
self.ensure_one()
action = self.env.ref("mrp_multi_level.product_mrp_area_action")

View File

@@ -1,8 +1,9 @@
# Copyright 2018 Eficent Business and IT Consulting Services S.L.
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
import ast
from odoo import api, fields, models
from odoo import fields, models
class ProductTemplate(models.Model):
@@ -19,12 +20,10 @@ class ProductTemplate(models.Model):
compute="_compute_mrp_area_count",
)
@api.multi
def _compute_mrp_area_count(self):
for rec in self:
rec.mrp_area_count = len(rec.mrp_area_ids)
@api.multi
def action_view_mrp_area_parameters(self):
self.ensure_one()
action = self.env.ref("mrp_multi_level.product_mrp_area_action")

View File

@@ -1,6 +1,6 @@
# © 2016 Ucamco - Wim Audenaert <wim.audenaert@ucamco.com>
# © 2016 Eficent Business and IT Consulting Services S.L.
# - Jordi Ballester Alomar <jordi.ballester@eficent.com>
# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com)
# - Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models