oca-web/odoo-bringout-oca-web-web_dark_mode/web_dark_mode/models/ir_http.py
Ernad Husremovic 53fddf87c8 Add oca-web submodule with 68 web modules
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 17:27:15 +02:00

23 lines
804 B
Python

# © 2022 Florian Kantelberg - initOS GmbH
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models
from odoo.http import request
class IrHttp(models.AbstractModel):
_inherit = "ir.http"
@classmethod
def _set_color_scheme(cls, response):
scheme = request.httprequest.cookies.get("color_scheme")
user = request.env.user
user_scheme = "dark" if getattr(user, "dark_mode", None) else "light"
device_dependent = getattr(user, "dark_mode_device_dependent", None)
if (not device_dependent) and scheme != user_scheme:
response.set_cookie("color_scheme", user_scheme)
@classmethod
def _post_dispatch(cls, response):
cls._set_color_scheme(response)
return super()._post_dispatch(response)