From 0513ea23a455faae2cbc8f512fda76a8a98fa4c8 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Tue, 26 May 2026 21:23:05 -0400 Subject: [PATCH] feat(fusion_login_audit): standalone views + menus List, form, and search views for fusion.login.audit, plus a "Login Events" full-history action and a "Failed Logins (24h)" pre-filtered action. Both surface under Settings -> Technical -> Login Audit (menu items gated by base.group_system). Views are no-create / no-edit / no-delete to enforce append-only at the UI layer too. Co-Authored-By: Claude Opus 4.7 (1M context) --- fusion_login_audit/__manifest__.py | 2 + .../views/fusion_login_audit_views.xml | 118 ++++++++++++++++++ fusion_login_audit/views/menus.xml | 24 ++++ 3 files changed, 144 insertions(+) create mode 100644 fusion_login_audit/views/fusion_login_audit_views.xml create mode 100644 fusion_login_audit/views/menus.xml diff --git a/fusion_login_audit/__manifest__.py b/fusion_login_audit/__manifest__.py index 154bce29..59ac5bf6 100644 --- a/fusion_login_audit/__manifest__.py +++ b/fusion_login_audit/__manifest__.py @@ -26,7 +26,9 @@ bursts. Daily retention cron honours a configurable horizon. 'data': [ 'security/ir.model.access.csv', 'security/security.xml', + 'views/fusion_login_audit_views.xml', 'views/res_users_views.xml', + 'views/menus.xml', ], 'installable': True, 'application': False, diff --git a/fusion_login_audit/views/fusion_login_audit_views.xml b/fusion_login_audit/views/fusion_login_audit_views.xml new file mode 100644 index 00000000..526e5b1a --- /dev/null +++ b/fusion_login_audit/views/fusion_login_audit_views.xml @@ -0,0 +1,118 @@ + + + + + + fusion.login.audit.list + fusion.login.audit + + + + + + + + + + + + + + + + + + + + fusion.login.audit.form + fusion.login.audit + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + fusion.login.audit.search + fusion.login.audit + + + + + + + + + + + + + + + + + + + + + + + + + + Login Events + fusion.login.audit + list,form + + {} + + + + Failed Logins (24h) + fusion.login.audit + list,form + + {'search_default_filter_failure': 1, 'search_default_filter_24h': 1} + + +
diff --git a/fusion_login_audit/views/menus.xml b/fusion_login_audit/views/menus.xml new file mode 100644 index 00000000..3c3a78fa --- /dev/null +++ b/fusion_login_audit/views/menus.xml @@ -0,0 +1,24 @@ + + + + + + + + + +