[IMP] maitenance_service_http_monitoring : move service tree view to maintenance_server_data
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m35s

This commit is contained in:
Boris Gallet
2026-02-25 10:36:48 +01:00
parent ea255c184e
commit 0e70d3ea80
4 changed files with 50 additions and 27 deletions

View File

@@ -33,6 +33,18 @@
</field>
</record>
<record id="service_instance_view_tree" model="ir.ui.view">
<field name="name">service.instance.view.tree</field>
<field name="model">service.instance</field>
<field name="arch" type="xml">
<tree>
<field name="equipment_id"/>
<field name="service_id"/>
<field name="version_id"/>
</tree>
</field>
</record>
<!-- ACTIONS -->
<record id="service_action" model="ir.actions.act_window">
<field name="name">Service</field>
@@ -70,6 +82,18 @@
</field>
</record>
<record id="service_instance_action" model="ir.actions.act_window">
<field name="name">Services</field>
<field name="res_model">service.instance</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="service_instance_view_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Add a new Service Instance
</p>
</field>
</record>
<!-- MENUS -->
<menuitem
id="menu_maintenance_service"
@@ -92,4 +116,11 @@
action="backup_server_action"
sequence="5" />
<menuitem
id="menu_maintenance_service_instance"
name="Services"
parent="maintenance.menu_maintenance_title"
action="service_instance_action"
sequence="35"/>
</odoo>

View File

@@ -2,17 +2,20 @@
maintenance_service_http_monitoring
======================================
Module qui permet le monitoring des différents service en vérifiant leur réponse HTTP 200 :
- Utilise la notion de service de `maintenance_server_data` pour chaque équipement.
Si le service à une URL une requête est effectuée
- Ajout du mode maintenance pour un équipement :
- Permet de désactiver les checks HTTP pour X temps (défini dans le cron)
Module that allows monitoring of different services by checking their HTTP 200 responses:
## Logique :
Si une requête est KO est quune tâche de maintenance est déjà créer le même jour,
aucune tâche nest ajouté.
- Uses the `maintenance_server_data` service for each device.
Les valeurs par défaut pour les cron se trouvent dans `data/cron.xml`
If the service has a URL, a request is made.
- Adds maintenance mode for a device:
- Allows disabling HTTP checks for a specified time (defined in the cron job).
## Logic:
If a request fails and a maintenance task has already been created for the same day,
no new task is added.
The default values for the cron jobs are located in `data/cron.xml`.
Installation

View File

@@ -1,3 +1,2 @@
from . import service_instance
from . import maintenance_equipment
from . import res_config_settings

View File

@@ -1,30 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- Inherit from base tree view to add HTTP monitoring fields -->
<record id="service_instance_http_monitoring_tree" model="ir.ui.view">
<field name="name">service.instance.http.monitoring.tree</field>
<field name="model">service.instance</field>
<field name="inherit_id" ref="maintenance_server_data.service_instance_view_tree"/>
<field name="arch" type="xml">
<tree decoration-danger="http_status_ok == False">
<field name="equipment_id"/>
<field name="service_id"/>
<field name="version_id"/>
<tree position="attributes">
<attribute name="decoration-danger">http_status_ok == False</attribute>
</tree>
<field name="version_id" position="after">
<field name="service_url"/>
<field name="last_http_check_date"/>
<field name="last_http_status_code"/>
<field name="http_status_ok"/>
</tree>
</field>
</field>
</record>
<record id="service_instance_http_monitoring_action" model="ir.actions.act_window">
<field name="name">Services HTTP Monitoring</field>
<field name="res_model">service.instance</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="service_instance_http_monitoring_tree"/>
<field name="domain">[("service_url", "!=", False)]</field>
<field name="help" type="html">
<p>Liste des services disposant d'une URL surveillée par le monitoring HTTP.</p>
</field>
</record>
<menuitem id="menu_service_instance_http_monitoring" name="Services HTTP Monitoring"
parent="maintenance.menu_maintenance_title" action="service_instance_http_monitoring_action" sequence="35"/>
</odoo>