fix: fetch all odoo tickets deterministically

This commit is contained in:
2026-07-24 10:22:55 +02:00
parent b0fb879914
commit 7c108154df
6 changed files with 35 additions and 3 deletions
+16 -1
View File
@@ -15,6 +15,7 @@ DEFAULT_TIMEOUT = 30
DEFAULT_TICKET_FIELDS = ["id", "name", "stage_id", "partner_id", "user_id", "write_date"]
DEFAULT_MAX_NOTIFIED_TICKETS = 50
DEFAULT_TICKET_URL_TEMPLATE = "{odoo_url}/web#id={id}&model={model}&view_type=form"
DEFAULT_ODOO_ORDER = "id asc"
def get_config_path():
@@ -37,6 +38,8 @@ def audit():
tickets = fetch_odoo_tickets(conf_wapt)
previous_tickets_state = load_tickets_state(get_state_path())
tickets_updated = get_updated_tickets(tickets, previous_tickets_state)
print("Tickets recuperes depuis Odoo : %s" % len(tickets))
print("Tickets modifies detectes : %s" % len(tickets_updated))
message = build_notification_message(
tickets_updated,
previous_tickets_state,
@@ -118,6 +121,14 @@ def get_ticket_url_template(conf_wapt):
return conf_wapt.get("notification", "ticket_url_template", fallback=DEFAULT_TICKET_URL_TEMPLATE)
def get_odoo_limit(conf_wapt):
return conf_wapt.getint("odoo", "limit", fallback=0)
def get_odoo_order(conf_wapt):
return conf_wapt.get("odoo", "order", fallback=DEFAULT_ODOO_ORDER)
def build_odoo_payload(service, method, args):
return {
"jsonrpc": "2.0",
@@ -186,7 +197,11 @@ def fetch_odoo_tickets(conf_wapt):
conf_wapt.get("odoo", "model", fallback="helpdesk.ticket"),
"search_read",
[[]],
{"fields": get_odoo_fields(conf_wapt)},
{
"fields": get_odoo_fields(conf_wapt),
"limit": get_odoo_limit(conf_wapt),
"order": get_odoo_order(conf_wapt),
},
],
)