Ga naar hoofdinhoud
Versie: Volgende 🚧

Profielen en accountisolatie Technische referentie

De module Profielen regelt de instellingen van gebruikersprofielen en biedt lokale gegevensisolatie over meerdere Odoo-instanties.

Codebase-kaart

LaagPadDoel
Actieve instantie / Accountwisselaar (UI)qml/components/dialogs/AccountSelectorDialog.qmlBiedt de pop-up/dialoog-overlay die wereldwijd op alle pagina's wordt gebruikt om van actieve Odoo-account te wisselen. Deze is wereldwijd geïnstantieerd als accountPicker in qml/app/GlobalWidgets.qml.
Accountlijst en instellingenbeheer (UI)qml/features/settings/pages/Settings_Accounts.qmlVerwerkt het aanmaken, verwijderen, de configuratielijst en de acties voor het triggeren van de synchronisatie van de verschillende Odoo-accounts.
Logica en statusmodels/accounts.jsSessievalidatie en schakelen tussen actieve exemplaartokens

Isolatie van meerdere databases

De SQLite-schema-isolatie gebruikt een relationele sleutel user_id die is toegewezen aan de actieve rij in de tabel users (accounts).

SQL-filterstrategie

Elke query voor het ophalen van gegevens die door JavaScript-modellen wordt uitgevoerd, controleert de huidige actieve gebruikerscontext op basis van de algemene instellingen:

SELECT * FROM project_task_app
WHERE user_id = (SELECT value FROM app_settings WHERE key = 'active_user_id');

Deze structuur zorgt ervoor dat gegevens uit afzonderlijke accounts/instanties (bijvoorbeeld Werk versus Persoonlijk) worden gescheiden, waardoor gegevenslekken tussen omgevingen worden vermeden.