Files
Odoo-18.0-20251222/maintenance_request_purchase/models/purchase_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

39 lines
1.3 KiB
Python

# Copyright 2019 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class PurchaseOrder(models.Model):
_inherit = "purchase.order"
maintenance_request_ids = fields.Many2many(
"maintenance.request",
"maintenance_purchase_order",
"purchase_order_id",
"maintenance_request_id",
string="Maintenance Requests",
copy=False,
)
maintenance_requests_count = fields.Integer(
compute="_compute_maintenance_requests_count", store=True
)
@api.depends("maintenance_request_ids")
def _compute_maintenance_requests_count(self):
for record in self:
record.maintenance_requests_count = len(record.maintenance_request_ids.ids)
def action_view_maintenance_request(self):
action = self.env["ir.actions.act_window"]._for_xml_id(
"maintenance.hr_equipment_request_action"
)
if len(self.maintenance_request_ids) > 1:
action["domain"] = [("id", "in", self.maintenance_request_ids.ids)]
elif self.maintenance_request_ids:
action["views"] = [(False, "form")]
action["res_id"] = self.maintenance_request_ids.id
action["context"] = {}
return action