Odoo's res.config.settings framework only supports auto-persisting fields of type boolean/integer/float/char/selection/many2one/datetime via config_parameter=. theme_logo (Binary) doesn't qualify, and because it was injected into the *shared* res.config.settings form, it broke every Settings tab across the whole install (including unrelated ones like Website/eLearning) - any settings load triggered default_get, which scans all fields on the model and raised. Caught via live testing in the browser, not by the automated suite, since the failure only surfaces on create()/default_get() of a resx.config.settings record, which the existing tests didn't exercise for other apps' tabs. Fixed by removing config_parameter from the field and persisting it manually through get_values()/set_values() overrides, base64-encoded into the same ir.config_parameter key the QWeb template already reads from - so the storage format is unchanged, just how it gets there. Audited every other config_parameter= field across all modules (grep) to confirm none of the others have the same problem - all are Char/Integer/ Boolean, which are on the whitelist. Verified against the live container: settings load and save cleanly for every module's tab, the logo round-trips through upload -> config parameter -> template read, and a full test run across all 9 modules (56 tests) plus a sweep of every custom button (call_button, matching the exact browser click path) and every public/portal page passes clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
======================== Community OS Theme Base ======================== Configurable brand tokens (colours, logo, fonts) for community and cultural organizations, exposed as settings and injected as CSS variables across the website, member portal, and PDF reports. Installation ============ Install as any Odoo module. Configuration ============= Settings > Website > Community OS Theme. Usage ===== Content to be completed as the module is built out (see project plan, Phase 6). Credits ======= Authors ------- * Metatroncube Software Solutions LLP