Skip to Content

Schema: debug_mode_toggle

Schema: debug_mode_toggle

Technical Truth - Models, API endpoints, and data structures


Module Overview

Attribute Value
Technical Name debug_mode_toggle
Version 18.0
Total Models 0 (pure frontend module)
Total Controllers 0
API Endpoints 0

Models

This module has no models. It is a pure frontend JavaScript/CSS module.


Frontend Components

JavaScript: NavBar Patch

File: static/src/js/custom.js

Purpose: Patches the Odoo NavBar component to add debug toggle functionality

Patch Details:

patch(NavBar.prototype, {
    setup() { ... },
    toggleDebugMode() { ... },
    get debugIcon() { ... },
    get debugIconClass() { ... }
})
Property/Method Type Purpose
toggleDebugMode() Method Toggles ?debug=1 URL parameter and reloads page
debugIcon Getter Returns 'fa-toggle-on' or 'fa-toggle-off' based on current state
debugIconClass Getter Returns full CSS class string for the icon

Toggle Logic:

toggleDebugMode() {
    const url = new URL(window.location.href);
    if (url.searchParams.get('debug') === '1') {
        url.searchParams.delete('debug');
    } else {
        url.searchParams.set('debug', '1');
    }
    window.location.href = url.toString();
}

XML Template: Systray Icon

File: static/src/xml/base.xml
Template: web.NavBarCustom
Inherits: web.NavBar

Changes:
- Replaces the systray menu div
- Adds clickable icon before systray items
- Icon uses Font Awesome toggle classes

<i t-att-class="debugIconClass"
   t-on-click="toggleDebugMode"
   style="cursor: pointer;"/>

CSS Styling

File: static/src/css/app.css

Class Purpose
.o_debug_mode.o_debug_on Green color (#28a745) when debug active
.o_debug_mode.o_debug_off White color (#ffffff) when debug inactive

Note: There's a mismatch between CSS classes (.o_debug_mode) and JS classes (.debug-on/.debug-off). The actual styling may not apply correctly.


Asset Registration

In manifest (web.assets_backend):

'assets': {
    'web.assets_backend': [
        'toggle_developer_mode/static/src/css/app.css',
        'toggle_developer_mode/static/src/js/custom.js',
        'toggle_developer_mode/static/src/xml/base.xml',
    ],
},

Note: Asset paths reference toggle_developer_mode but folder is debug_mode_toggle.


URL Parameter Behavior

URL State Debug Mode Icon
No debug param Off fa-toggle-off
?debug=1 On fa-toggle-on
?debug=assets Treated as off* fa-toggle-off

*The code specifically checks for debug=1, not other debug modes.


Controllers / API Endpoints

This module has no controllers or API endpoints.


Security Rules

No security rules - pure frontend functionality. Any user who can access the web client can see and use the toggle.


Database Tables

No database tables - no data stored.


Integration Points

Odoo Component How It's Modified
NavBar Patched with toggle methods
Systray area Icon added before other systray items

Change History

Date Change By
2025-01-26 Initial schema documentation CTO Module Docs Agent
Was this helpful?