add purchase_order_supplierinfo_update_triple_discount
This commit is contained in:
parent
f586c99df9
commit
91971ae56b
9 changed files with 275 additions and 0 deletions
|
|
@ -0,0 +1,2 @@
|
|||
from . import purchase_order_line
|
||||
from . import res_config_settings
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
from odoo import models
|
||||
from odoo.tools.misc import str2bool
|
||||
|
||||
|
||||
class PurchaseOrderLine(models.Model):
|
||||
_inherit = "purchase.order.line"
|
||||
|
||||
_SUPPLIERINFO_DISCOUNT_CONFIG = {
|
||||
"discount1": (
|
||||
"purchase_order_supplierinfo_update_triple_discount"
|
||||
".update_supplierinfo_discount1"
|
||||
),
|
||||
"discount2": (
|
||||
"purchase_order_supplierinfo_update_triple_discount"
|
||||
".update_supplierinfo_discount2"
|
||||
),
|
||||
"discount3": (
|
||||
"purchase_order_supplierinfo_update_triple_discount"
|
||||
".update_supplierinfo_discount3"
|
||||
),
|
||||
}
|
||||
|
||||
def _update_supplierinfo(self, seller):
|
||||
"""Extend supplierinfo update to optionally sync each discount field."""
|
||||
self.ensure_one()
|
||||
super()._update_supplierinfo(seller)
|
||||
if not seller:
|
||||
return
|
||||
|
||||
config = self.env["ir.config_parameter"].sudo()
|
||||
values = {}
|
||||
for field_name, parameter_name in self._SUPPLIERINFO_DISCOUNT_CONFIG.items():
|
||||
if field_name not in self._fields or field_name not in seller._fields:
|
||||
continue
|
||||
should_update = str2bool(
|
||||
config.get_param(parameter_name, default=False),
|
||||
default=False,
|
||||
)
|
||||
if should_update:
|
||||
values[field_name] = self[field_name]
|
||||
|
||||
if values:
|
||||
seller.sudo().write(values)
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = "res.config.settings"
|
||||
|
||||
update_supplierinfo_discount1 = fields.Boolean(
|
||||
string="Update Supplierinfo Discount 1",
|
||||
config_parameter=(
|
||||
"purchase_order_supplierinfo_update_triple_discount"
|
||||
".update_supplierinfo_discount1"
|
||||
),
|
||||
help="If enabled, confirming a purchase order will update discount1.",
|
||||
)
|
||||
|
||||
update_supplierinfo_discount2 = fields.Boolean(
|
||||
string="Update Supplierinfo Discount 2",
|
||||
config_parameter=(
|
||||
"purchase_order_supplierinfo_update_triple_discount"
|
||||
".update_supplierinfo_discount2"
|
||||
),
|
||||
help="If enabled, confirming a purchase order will update discount2.",
|
||||
)
|
||||
|
||||
update_supplierinfo_discount3 = fields.Boolean(
|
||||
string="Update Supplierinfo Discount 3",
|
||||
config_parameter=(
|
||||
"purchase_order_supplierinfo_update_triple_discount"
|
||||
".update_supplierinfo_discount3"
|
||||
),
|
||||
help="If enabled, confirming a purchase order will update discount3.",
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue