mirror of https://github.com/OCA/web.git
24 lines
804 B
Python
24 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)
|