Files
Odoo-18.0-20251222/sale_order_revision/models/sale_order.py
tocmo0nlord adbe430761
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled
Initial commit: Odoo 18.0-20251222 extra-addons
2026-03-13 20:43:25 +00:00

45 lines
1.5 KiB
Python
Executable File

# Copyright 2013 Agile Business Group sagl (<http://www.agilebg.com>)
# Copyright 2016 Serpent Consulting Services Pvt. Ltd.
# Copyright 2018 Dreambits Technologies Pvt. Ltd. (<http://dreambits.in>)
# Copyright 2020 Ecosoft Co., Ltd. (<http://ecosoft.co.th>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class SaleOrder(models.Model):
_name = "sale.order"
_inherit = ["sale.order", "base.revision"]
current_revision_id = fields.Many2one(
comodel_name="sale.order",
)
old_revision_ids = fields.One2many(
comodel_name="sale.order",
)
# Overwrite as sales.order can be multi-company
_sql_constraints = [
(
"revision_unique",
"unique(unrevisioned_name, revision_number, company_id)",
"Order Reference and revision must be unique per Company.",
)
]
def _prepare_revision_data(self, new_revision):
vals = super()._prepare_revision_data(new_revision)
vals.update({"state": "cancel"})
return vals
def action_view_revisions(self):
self.ensure_one()
result = self.env["ir.actions.act_window"]._for_xml_id("sale.action_orders")
result["domain"] = ["|", ("active", "=", False), ("active", "=", True)]
result["context"] = {
"active_test": 0,
"search_default_current_revision_id": self.id,
"default_current_revision_id": self.id,
}
return result