35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
# Copyright 2023 Taras Shabaranskyi
|
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
|
|
|
from odoo import models
|
|
from odoo.http import request
|
|
|
|
|
|
class IrHttp(models.AbstractModel):
|
|
_inherit = "ir.http"
|
|
|
|
def session_info(self):
|
|
session = super().session_info()
|
|
user = self.env.user
|
|
result = {
|
|
**session,
|
|
"apps_menu": {
|
|
"search_type": user.apps_menu_search_type,
|
|
"theme": user.apps_menu_theme,
|
|
},
|
|
}
|
|
if request and request.env:
|
|
Contract = request.env["nextzen.subscription.contract"]
|
|
status = Contract.get_client_status()
|
|
result["nextzen_subscription"] = {
|
|
"expiration_date": status.get("expiration_date") or "",
|
|
"expiration_reason": status.get("expiration_reason") or "",
|
|
"status": status.get("status") or "",
|
|
"days_left": status.get("days_left"),
|
|
"last_error": status.get("last_error") or "",
|
|
"last_error_code": status.get("last_error_code") or "",
|
|
"has_code": bool(status.get("code")),
|
|
"mandatory_validation": status.get("mandatory_validation"),
|
|
}
|
|
return result
|