feat(fusion_login_audit): add _fc_build_event_vals context helper

Single helper builds vals for fusion.login.audit rows from the live
HTTP request, or falls back to ip=''internal'' + geo_lookup_state=''internal''
when there is no request. Parses UA into browser/os/device_type via the
bundled user_agents library. Never reads credential[''password'']. Tests
cover: no-request fallback, UA parsing on a Chrome/Windows UA, and the
regression that no password value leaks into the vals dict.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-26 20:42:09 -04:00
parent 61a0cb244f
commit 2ced576204
4 changed files with 151 additions and 0 deletions

View File

@@ -20,6 +20,9 @@ bursts. Daily retention cron honours a configurable horizon.
'website': 'https://nexasystems.ca',
'license': 'OPL-1',
'depends': ['base', 'mail'],
'external_dependencies': {
'python': ['user_agents'],
},
'data': [
'security/ir.model.access.csv',
'security/security.xml',