python代码
xxxxxxxxxx
49
1
# !user/bin/env python3
2
# -*- coding: utf-8 -*-
3
# Author: Artorias
4
import os
5
import base64
6
7
from odoo import models, fields
8
9
BASE_PATH = os.path.dirname(os.path.dirname(__file__))
10
11
12
class LayuiThemeConfig(models.TransientModel):
13
_inherit = 'res.config.settings'
14
_name = 'layui_theme_odoo12.config'
15
16
title = fields.Char('登录页标题', default_model='layui_theme_odoo12.config')
17
english_title = fields.Char('登录页英文标题', default_model='layui_theme_odoo12.config')
18
logo = fields.Binary('logo大图', default_model='layui_theme_odoo12.config')
19
logo_mini = fields.Binary('logo小图', default_model='layui_theme_odoo12.config')
20
21
22
def _get_logo(logo_type):
23
file = 'logo.png' if logo_type == 'normal' else 'logo_mini.png'
24
path = os.path.join(BASE_PATH, 'static', 'imgs', file)
25
with open(path, 'rb') as f:
26
content = base64.b64encode((f.read()))
27
return content
28
29
def set_values(self):
30
self.env['ir.config_parameter'] \
31
.set_param('layui_theme_odoo12_title', (self.title or '').strip())
32
self.env['ir.config_parameter'] \
33
.set_param('layui_theme_odoo12_english_title', (self.english_title or '').strip())
34
self.env['ir.config_parameter'] \
35
.set_param('layui_theme_odoo12_logo', self.logo)
36
self.env['ir.config_parameter'] \
37
.set_param('layui_theme_odoo12_logo_mini', self.logo_mini)
38
39
def get_values(self):
40
title = self.env['ir.config_parameter'] \
41
.get_param('layui_theme_odoo12_title', default='富能通产品开发平台')
42
english_title = self.env['ir.config_parameter'] \
43
.get_param('layui_theme_odoo12_english_title', default='Funenc Dev Framework')
44
logo = self.env['ir.config_parameter'] \
45
.get_param('layui_theme_odoo12_logo', default=self._get_logo('normal'))
46
logo_mini = self.env['ir.config_parameter'] \
47
.get_param('layui_theme_odoo12_logo_mini', default=self._get_logo('mini'))
48
return dict(title=title, english_title=english_title, logo=logo, logo_mini=logo_mini)
49
已复制
xml代码
xxxxxxxxxx
34
1
2
<odoo>
3
<data>
4
<record id="layui_theme_odoo12_config_form" model="ir.ui.view">
5
<field name="name">主题设置详情</field>
6
<field name="model">layui_theme_odoo12.config</field>
7
<field name="arch" type="xml">
8
<form import="false" edit="false" create="false" delete="false">
9
<header style="height:35px; padding-top:3px;">
10
<button string="确认" type="object" name="execute" class="oe_highlight"/>
11
<button string="取消" type="object" name="cancel" class="oe_link"/>
12
</header>
13
<group>
14
<field name="title"/>
15
<field name="english_title"/>
16
<field name="logo" widget="image" class="field-logo"/>
17
<field name="logo_mini" widget="image" class="field-logo-mini"/>
18
</group>
19
</form>
20
</field>
21
</record>
22
</data>
23
24
<record id="act_layui_theme_config" model="ir.actions.act_window">
25
<field name="name">主题设置</field>
26
<field name="res_model">layui_theme_odoo12.config</field>
27
<field name="view_mode">form</field>
28
<field name="target">inline</field>
29
<field name="view_id" ref="layui_theme_odoo12_config_form"/>
30
</record>
31
32
<menuitem id="layui_theme_config" name="主题设置" sequence="0" parent="base.menu_administration"
33
action="act_layui_theme_config" groups="base.group_no_one"/>
34
</odoo>
已复制
base.group_no_one表示当前菜单仅在debug模式可见