[init/add] generic backend theme

This commit is contained in:
Daveanand Mannie
2026-01-09 20:25:07 -05:00
commit 8af4c7e966
213 changed files with 6068 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
from . import ir_http
from . import res_users
from . import res_company
from . import res_config_settings

View File

@@ -0,0 +1,19 @@
from odoo import models
class IrHttp(models.AbstractModel):
_inherit = "ir.http"
#----------------------------------------------------------
# Functions
#----------------------------------------------------------
def session_info(self):
result = super().session_info()
if self.env.user._is_internal():
for company in self.env.user.company_ids.with_context(bin_size=True):
result['user_companies']['allowed_companies'][company.id].update({
'has_appsbar_image': bool(company.appbar_image),
})
return result

View File

@@ -0,0 +1,15 @@
from odoo import models, fields
class ResCompany(models.Model):
_inherit = 'res.company'
#----------------------------------------------------------
# Fields
#----------------------------------------------------------
appbar_image = fields.Binary(
string='Apps Menu Footer Image',
attachment=True
)

View File

@@ -0,0 +1,15 @@
from odoo import api, fields, models
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
#----------------------------------------------------------
# Fields
#----------------------------------------------------------
appbar_image = fields.Binary(
related='company_id.appbar_image',
readonly=False
)

View File

@@ -0,0 +1,37 @@
from odoo import models, fields, api
class ResUsers(models.Model):
_inherit = 'res.users'
#----------------------------------------------------------
# Properties
#----------------------------------------------------------
@property
def SELF_READABLE_FIELDS(self):
return super().SELF_READABLE_FIELDS + [
'sidebar_type',
]
@property
def SELF_WRITEABLE_FIELDS(self):
return super().SELF_WRITEABLE_FIELDS + [
'sidebar_type',
]
#----------------------------------------------------------
# Fields
#----------------------------------------------------------
sidebar_type = fields.Selection(
selection=[
('invisible', 'Invisible'),
('small', 'Small'),
('large', 'Large')
],
string="Sidebar Type",
default='large',
required=True,
)