Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -0,0 +1,2 @@
from . import maintenance_request
from . import repair_order

View file

@ -0,0 +1,11 @@
# Copyright 2020 - TODAY, Marcel Savegnago - Escodoo
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class MaintenanceRequest(models.Model):
_inherit = "maintenance.request"
repair_order_id = fields.Many2one("repair.order", "Repair Order")

View file

@ -0,0 +1,47 @@
# Copyright 2020 - TODAY, Marcel Savegnago - Escodoo
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class RepairOrder(models.Model):
_inherit = "repair.order"
maintenance_request_ids = fields.One2many(
"maintenance.request", "repair_order_id", string="Maintenance Requests"
)
maintenance_request_count = fields.Integer(
compute="_compute_maintenance_request_count", string="# Maintenances"
)
@api.depends("maintenance_request_ids")
def _compute_maintenance_request_count(self):
for repair in self:
repair.maintenance_request_count = len(repair.maintenance_request_ids)
def action_view_maintenance_request(self):
"""This function returns an action that display existing maintenance requests
of given repair order ids. When only one found, show the maintenance request
immediately.
"""
action = self.env.ref("maintenance.hr_equipment_request_action")
result = action.read()[0]
# override the context to get rid of the default filtering on repair order
result["context"] = {"default_repair_order_id": self.id}
maintenance_request_ids = self.mapped("maintenance_request_ids")
# choose the view_mode accordingly
if not maintenance_request_ids or len(maintenance_request_ids) > 1:
result["domain"] = "[('id','in',%s)]" % (maintenance_request_ids.ids)
elif len(maintenance_request_ids) == 1:
res = self.env.ref("maintenance.hr_equipment_request_view_form", False)
form_view = [(res and res.id or False, "form")]
if "views" in result:
result["views"] = form_view + [
(state, view) for state, view in result["views"] if view != "form"
]
else:
result["views"] = form_view
result["res_id"] = maintenance_request_ids.id
return result