init 17 部署及app

This commit is contained in:
Ivan Office
2023-11-16 16:13:43 +08:00
parent f747322ae9
commit c9738e08a9
41 changed files with 579 additions and 77 deletions

View File

@@ -18,7 +18,7 @@
{ {
'name': 'odoo中文版套件之基础,中国会计基础,Chinese Enhance All in One', 'name': 'odoo中文版套件之基础,中国会计基础,Chinese Enhance All in One',
'version': '17.23.11.06', 'version': '23.11.06',
'author': 'odooai.cn', 'author': 'odooai.cn',
'category': 'Base', 'category': 'Base',
'website': 'https://www.odooai.cn', 'website': 'https://www.odooai.cn',

View File

@@ -10,7 +10,7 @@
{ {
'name': 'ChatGPT4, China Ali,AiGC Center.Ai服务中心聚合全网Ai', 'name': 'ChatGPT4, China Ali,AiGC Center.Ai服务中心聚合全网Ai',
'version': '17.23.10.19', 'version': '23.10.19',
'author': 'odooai.cn', 'author': 'odooai.cn',
'company': 'odooai.cn', 'company': 'odooai.cn',
'maintainer': 'odooai.cn', 'maintainer': 'odooai.cn',

View File

@@ -39,7 +39,7 @@
{ {
'name': "odooAi Common Util and Tools", 'name': "odooAi Common Util and Tools",
'version': '17.23.10.30', 'version': '23.11.16',
'author': 'odooai.cn', 'author': 'odooai.cn',
'category': 'Base', 'category': 'Base',
'website': 'https://www.odooai.cn', 'website': 'https://www.odooai.cn',

View File

@@ -27,16 +27,16 @@ def app_relaxng(view_type):
_relaxng_cache[view_type] = None _relaxng_cache[view_type] = None
return _relaxng_cache[view_type] return _relaxng_cache[view_type]
view_validation.relaxng = app_relaxng # view_validation.relaxng = app_relaxng
#
class View(models.Model): # class View(models.Model):
_inherit = 'ir.ui.view' # _inherit = 'ir.ui.view'
#
def __init__(self, env, ids, prefetch_ids): # def __init__(self, env, ids, prefetch_ids):
# 这里应该是无必要,但为了更安全 # # 这里应该是无必要,但为了更安全
super(View, self).__init__(env, ids, prefetch_ids) # super(View, self).__init__(env, ids, prefetch_ids)
view_validation.relaxng = app_relaxng # view_validation.relaxng = app_relaxng
#
# todo: 有可能需要处理增加的 header等标签 # # todo: 有可能需要处理增加的 header等标签
# 直接重写原生方法 # # 直接重写原生方法
# def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False): # # def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False):

View File

@@ -40,19 +40,6 @@
</rng:optional> </rng:optional>
</rng:define> </rng:define>
<rng:define name="modifiable">
<rng:optional>
<!-- @modifiers contains a JSON map unifying the various
modifier attributes: @readonly, @required, @invisible.
Each attribute is a key, mapped to a JSON list representing
a condition expressed as an OpenERP `domain` filter
Only some of the modifier keys make sense on some
elements, for example <filter> and <group> only support
`invisible`. -->
<rng:attribute name="modifiers"/>
</rng:optional>
</rng:define>
<rng:define name="access_rights"> <rng:define name="access_rights">
<rng:optional> <rng:optional>
<rng:attribute name="groups"/> <rng:attribute name="groups"/>
@@ -95,7 +82,6 @@
<rng:element name="label"> <rng:element name="label">
<rng:ref name="overload"/> <rng:ref name="overload"/>
<rng:ref name="access_rights"/> <rng:ref name="access_rights"/>
<rng:ref name="modifiable"/>
<rng:optional><rng:attribute name="invisible"/></rng:optional> <rng:optional><rng:attribute name="invisible"/></rng:optional>
<rng:optional><rng:attribute name="align"/></rng:optional> <rng:optional><rng:attribute name="align"/></rng:optional>
<rng:optional><rng:attribute name="nolabel"/></rng:optional> <rng:optional><rng:attribute name="nolabel"/></rng:optional>
@@ -147,7 +133,6 @@
<rng:element name="separator"> <rng:element name="separator">
<rng:ref name="overload"/> <rng:ref name="overload"/>
<rng:ref name="access_rights"/> <rng:ref name="access_rights"/>
<rng:ref name="modifiable"/>
<rng:optional><rng:attribute name="invisible"/></rng:optional> <rng:optional><rng:attribute name="invisible"/></rng:optional>
<rng:optional><rng:attribute name="name"/></rng:optional> <rng:optional><rng:attribute name="name"/></rng:optional>
<rng:optional><rng:attribute name="colspan"/></rng:optional> <rng:optional><rng:attribute name="colspan"/></rng:optional>
@@ -208,10 +193,7 @@
<rng:attribute name="name" /> <rng:attribute name="name" />
<rng:ref name="overload"/> <rng:ref name="overload"/>
<rng:ref name="access_rights"/> <rng:ref name="access_rights"/>
<rng:ref name="modifiable"/>
<rng:optional><rng:attribute name="allow_group_range_value"/></rng:optional>
<rng:optional><rng:attribute name="domain_filter"/></rng:optional> <rng:optional><rng:attribute name="domain_filter"/></rng:optional>
<rng:optional><rng:attribute name="attrs"/></rng:optional>
<rng:optional><rng:attribute name="class"/></rng:optional> <rng:optional><rng:attribute name="class"/></rng:optional>
<rng:optional><rng:attribute name="string"/></rng:optional> <rng:optional><rng:attribute name="string"/></rng:optional>
<rng:optional><rng:attribute name="completion"/></rng:optional> <rng:optional><rng:attribute name="completion"/></rng:optional>
@@ -225,6 +207,7 @@
<rng:optional><rng:attribute name="on_change"/></rng:optional> <rng:optional><rng:attribute name="on_change"/></rng:optional>
<rng:optional><rng:attribute name="domain"/></rng:optional> <rng:optional><rng:attribute name="domain"/></rng:optional>
<rng:optional><rng:attribute name="filter_domain"/></rng:optional> <rng:optional><rng:attribute name="filter_domain"/></rng:optional>
<rng:optional><rng:attribute name="column_invisible"/></rng:optional>
<rng:optional><rng:attribute name="invisible"/></rng:optional> <rng:optional><rng:attribute name="invisible"/></rng:optional>
<rng:optional><rng:attribute name="password"/></rng:optional> <rng:optional><rng:attribute name="password"/></rng:optional>
<rng:optional><rng:attribute name="comparator"/></rng:optional> <rng:optional><rng:attribute name="comparator"/></rng:optional>
@@ -247,7 +230,6 @@
<rng:optional><rng:attribute name="view_mode"/></rng:optional> <rng:optional><rng:attribute name="view_mode"/></rng:optional>
<rng:optional><rng:attribute name="widget"/></rng:optional> <rng:optional><rng:attribute name="widget"/></rng:optional>
<rng:optional><rng:attribute name="context"/></rng:optional> <rng:optional><rng:attribute name="context"/></rng:optional>
<rng:optional><rng:attribute name="states"/></rng:optional>
<rng:optional><rng:attribute name="digits"/></rng:optional> <rng:optional><rng:attribute name="digits"/></rng:optional>
<rng:optional><rng:attribute name="icon"/></rng:optional> <rng:optional><rng:attribute name="icon"/></rng:optional>
<rng:optional><rng:attribute name="mode"/></rng:optional> <rng:optional><rng:attribute name="mode"/></rng:optional>
@@ -323,12 +305,9 @@
<rng:element name="group"> <rng:element name="group">
<rng:ref name="overload"/> <rng:ref name="overload"/>
<rng:ref name="access_rights"/> <rng:ref name="access_rights"/>
<rng:ref name="modifiable"/>
<rng:optional><rng:attribute name="attrs"/></rng:optional>
<rng:optional><rng:attribute name="colspan"/></rng:optional> <rng:optional><rng:attribute name="colspan"/></rng:optional>
<rng:optional><rng:attribute name="rowspan"/></rng:optional> <rng:optional><rng:attribute name="rowspan"/></rng:optional>
<rng:optional><rng:attribute name="expand"/></rng:optional> <rng:optional><rng:attribute name="expand"/></rng:optional>
<rng:optional><rng:attribute name="states"/></rng:optional>
<rng:optional><rng:attribute name="string"/></rng:optional> <rng:optional><rng:attribute name="string"/></rng:optional>
<rng:optional><rng:attribute name="fill"/></rng:optional> <rng:optional><rng:attribute name="fill"/></rng:optional>
<rng:optional><rng:attribute name="height"/></rng:optional> <rng:optional><rng:attribute name="height"/></rng:optional>
@@ -347,14 +326,12 @@
<rng:element name="button"> <rng:element name="button">
<rng:ref name="overload"/> <rng:ref name="overload"/>
<rng:ref name="access_rights"/> <rng:ref name="access_rights"/>
<rng:ref name="modifiable"/>
<rng:optional><rng:attribute name="attrs"/></rng:optional>
<rng:optional><rng:attribute name="invisible"/></rng:optional> <rng:optional><rng:attribute name="invisible"/></rng:optional>
<rng:optional><rng:attribute name="column_invisible"/></rng:optional>
<rng:optional><rng:attribute name="disabled"/></rng:optional> <rng:optional><rng:attribute name="disabled"/></rng:optional>
<rng:optional><rng:attribute name="name" /></rng:optional> <rng:optional><rng:attribute name="name" /></rng:optional>
<rng:optional><rng:attribute name="icon" /></rng:optional> <rng:optional><rng:attribute name="icon" /></rng:optional>
<rng:optional><rng:attribute name="string" /></rng:optional> <rng:optional><rng:attribute name="string" /></rng:optional>
<rng:optional><rng:attribute name="states" /></rng:optional>
<rng:optional><rng:attribute name="type" /></rng:optional> <rng:optional><rng:attribute name="type" /></rng:optional>
<rng:optional><rng:attribute name="special" /></rng:optional> <rng:optional><rng:attribute name="special" /></rng:optional>
<rng:optional><rng:attribute name="align" /></rng:optional> <rng:optional><rng:attribute name="align" /></rng:optional>
@@ -370,6 +347,7 @@
<rng:optional><rng:attribute name="title"/></rng:optional> <rng:optional><rng:attribute name="title"/></rng:optional>
<rng:optional><rng:attribute name="aria-label"/></rng:optional> <rng:optional><rng:attribute name="aria-label"/></rng:optional>
<rng:optional><rng:attribute name="aria-pressed"/></rng:optional> <rng:optional><rng:attribute name="aria-pressed"/></rng:optional>
<rng:optional><rng:attribute name="display"/></rng:optional>
<rng:zeroOrMore> <rng:zeroOrMore>
<rng:choice> <rng:choice>
<rng:ref name="field" /> <rng:ref name="field" />
@@ -390,9 +368,7 @@
<rng:element name="filter"> <rng:element name="filter">
<rng:ref name="overload"/> <rng:ref name="overload"/>
<rng:ref name="access_rights"/> <rng:ref name="access_rights"/>
<rng:ref name="modifiable"/>
<rng:attribute name="name"/> <rng:attribute name="name"/>
<rng:optional><rng:attribute name="attrs"/></rng:optional>
<rng:optional><rng:attribute name="icon"/></rng:optional> <rng:optional><rng:attribute name="icon"/></rng:optional>
<rng:optional><rng:attribute name="invisible"/></rng:optional> <rng:optional><rng:attribute name="invisible"/></rng:optional>
<rng:optional><rng:attribute name="separator" /></rng:optional> <rng:optional><rng:attribute name="separator" /></rng:optional>
@@ -442,4 +418,11 @@
</rng:element> </rng:element>
</rng:define> </rng:define>
<rng:define name="widget">
<rng:element name="widget">
<rng:attribute name="name"/>
<rng:optional><rng:attribute name="options"/></rng:optional>
</rng:element>
</rng:define>
</rng:grammar> </rng:grammar>

View File

@@ -28,7 +28,6 @@
<rng:optional><rng:attribute name="delete"/></rng:optional> <rng:optional><rng:attribute name="delete"/></rng:optional>
<rng:optional><rng:attribute name="edit"/></rng:optional> <rng:optional><rng:attribute name="edit"/></rng:optional>
<rng:optional><rng:attribute name="multi_edit"/></rng:optional> <rng:optional><rng:attribute name="multi_edit"/></rng:optional>
<rng:optional><rng:attribute name="multi_group_select"/></rng:optional>
<rng:optional><rng:attribute name="export_xlsx"/></rng:optional> <rng:optional><rng:attribute name="export_xlsx"/></rng:optional>
<rng:optional><rng:attribute name="duplicate"/></rng:optional> <rng:optional><rng:attribute name="duplicate"/></rng:optional>
<rng:optional><rng:attribute name="import"/></rng:optional> <rng:optional><rng:attribute name="import"/></rng:optional>
@@ -36,8 +35,8 @@
<rng:optional><rng:attribute name="class"/></rng:optional> <rng:optional><rng:attribute name="class"/></rng:optional>
<!-- Allows to take a custom View widget for handling --> <!-- Allows to take a custom View widget for handling -->
<rng:optional><rng:attribute name="js_class"/></rng:optional> <rng:optional><rng:attribute name="js_class"/></rng:optional>
<rng:optional><rng:attribute name="options"/></rng:optional>
<rng:optional><rng:attribute name="default_order"/></rng:optional> <rng:optional><rng:attribute name="default_order"/></rng:optional>
<rng:optional><rng:attribute name="default_group_by"/></rng:optional>
<rng:optional><rng:attribute name="decoration-bf"/></rng:optional> <rng:optional><rng:attribute name="decoration-bf"/></rng:optional>
<rng:optional><rng:attribute name="decoration-it"/></rng:optional> <rng:optional><rng:attribute name="decoration-it"/></rng:optional>
<rng:optional><rng:attribute name="decoration-danger"/></rng:optional> <rng:optional><rng:attribute name="decoration-danger"/></rng:optional>
@@ -60,6 +59,7 @@
<rng:optional><rng:attribute name="sample"/></rng:optional> <rng:optional><rng:attribute name="sample"/></rng:optional>
<rng:optional><rng:attribute name="action"/></rng:optional> <rng:optional><rng:attribute name="action"/></rng:optional>
<rng:optional><rng:attribute name="type"/></rng:optional> <rng:optional><rng:attribute name="type"/></rng:optional>
<rng:optional><rng:attribute name="open_form_view"/></rng:optional>
<rng:optional> <rng:optional>
<rng:attribute name="limit"> <rng:attribute name="limit">
<rng:data type="int"/> <rng:data type="int"/>
@@ -93,6 +93,7 @@
</rng:element> </rng:element>
<rng:ref name="control"/> <rng:ref name="control"/>
<rng:ref name="field"/> <rng:ref name="field"/>
<rng:ref name="widget"/>
<rng:ref name="separator"/> <rng:ref name="separator"/>
<rng:ref name="tree"/> <rng:ref name="tree"/>
<rng:ref name="groupby"/> <rng:ref name="groupby"/>

View File

@@ -1,13 +1,15 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<odoo> <odoo>
<record id="app_ir_cron_view_tree" model="ir.ui.view"> <data>
<field name="name">app.ir.cron.tree</field> <record id="app_ir_cron_view_tree" model="ir.ui.view">
<field name="model">ir.cron</field> <field name="name">app.ir.cron.tree</field>
<field name="inherit_id" ref="base.ir_cron_view_tree"/> <field name="model">ir.cron</field>
<field name="arch" type="xml"> <field name="inherit_id" ref="base.ir_cron_view_tree"/>
<xpath expr="//field[@name='active']" position="before"> <field name="arch" type="xml">
<field name='trigger_user_id' optional="show"/> <xpath expr="//field[@name='active']" position="before">
</xpath> <field name='trigger_user_id' optional="show"/>
</field> </xpath>
</record> </field>
</record>
</data>
</odoo> </odoo>

View File

@@ -23,7 +23,7 @@
{ {
'name': 'odoo Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data,Development Enhance', 'name': 'odoo Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data,Development Enhance',
'version': '17.23.11.07', 'version': '23.11.16',
'author': 'odooai.cn', 'author': 'odooai.cn',
'category': 'Extra Tools', 'category': 'Extra Tools',
'website': 'https://www.odooai.cn', 'website': 'https://www.odooai.cn',

View File

@@ -1,24 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <odoo>
<!-- todo: Modules list --> <!-- todo: Modules list -->
<!-- <record id="app_module_tree" model="ir.ui.view">-->
<!-- <field name="name">app.ir.module.module.tree</field>-->
<!-- <field name="model">ir.module.module</field>-->
<!-- <field name="inherit_id" ref="base.module_tree"/>-->
<!-- <field name="arch" type="xml">-->
<!-- <field name="name" position="attributes">-->
<!-- <attribute name="groups"/>-->
<!-- </field>-->
<!-- <field name="installed_version" position="after">-->
<!-- <field name="latest_version" optional="hide"/>-->
<!-- <field name="local_updatable" optional="show"/>-->
<!-- <field name="addons_path" optional="hide" groups="base.group_no_one"/>-->
<!-- </field>-->
<!-- <field name="website" position="attributes">-->
<!-- <attribute name="optional">hide</attribute>-->
<!-- </field>-->
<!-- </field>-->
<!-- </record>-->
<!-- Modules search--> <!-- Modules search-->
<record id="app_view_module_filter" model="ir.ui.view"> <record id="app_view_module_filter" model="ir.ui.view">
<field name="name">app.ir.module.module.list.select</field> <field name="name">app.ir.module.module.list.select</field>
@@ -42,9 +24,9 @@
<field name="model">ir.module.module</field> <field name="model">ir.module.module</field>
<field name="inherit_id" ref="base.module_form"/> <field name="inherit_id" ref="base.module_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<h3 class="oe_fade" position="attributes"> <xpath expr="//field[@name='author']/.." position="attributes">
<attribute name="groups">app_odoo_customize.group_show_author_in_apps</attribute> <attribute name="groups">app_odoo_customize.group_show_author_in_apps</attribute>
</h3> </xpath>
<field name="category_id" position="after"> <field name="category_id" position="after">
<field name="addons_path_id" invisible="1"/> <field name="addons_path_id" invisible="1"/>
<field name="addons_path" groups="base.group_no_one"/> <field name="addons_path" groups="base.group_no_one"/>

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
from . import controllers
from . import models
from . import ir
from . import res

View File

@@ -0,0 +1,104 @@
# -*- coding: utf-8 -*-
# Created on 2017-11-05
# author: 欧度智能https://www.odooai.cn
# email: 300883@qq.com
# resource of odooai
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Odoo在线中文用户手册长期更新
# https://www.odooai.cn/documentation/user/10.0/zh_CN/index.html
# Odoo10离线中文用户手册下载
# https://www.odooai.cn/odoo10_user_manual_document_offline/
# Odoo10离线开发手册下载-含python教程jquery参考Jinja2模板PostgresSQL参考odoo开发必备
# https://www.odooai.cn/odoo10_developer_document_offline/
# description:
{
'name': "odoo Enterprise enhance Pack,企业版界面及操作增强",
'version': '23.11.16',
'author': 'odooai.cn',
'category': 'Base',
'website': 'https://www.odooai.cn',
'live_test_url': 'https://demo.odooapp.cn',
'license': 'LGPL-3',
'sequence': 2,
'summary': """
Ui Enhance pack of odoo Enterprise version
1. Add dropdown arrow to parent menu.
2. Replace the odoo logo to your company logo in main menu.
3. Alway show search in main menu.
""",
'description': """
odoo enterprise version UI enhance.
欧度智能odooai.cn 的odoo模块。企业版界面增强。
1. Ui Enhance pack of odoo Enterprise version
odoo企业版界面增强套件更方便操作
2. Add dropdown arrow to parent menu group.
多级菜单中出现箭头。
3. Replace the odoo logo or url to your company in menu and page.
替换主菜单界面的logo为你公司的logo。
4. Add underline for input field.
在可编辑字段下方增加下划线,易于分辨。
5. Add grid line form list view. Easy to read list data.</li>
为表格list增加行列分隔线易于看数据。
11. Multi-language Support. Multi-Company Support.
12. Support Odoo 16,15,14,13,12, Enterprise and Community and odoo.sh Edition.
13. Full Open Source.
==========
1.
2.
11. 多语言支持,多公司支持
12. Odoo 16,15,14,13,12, 企业版社区版在线SaaS.sh版等全版本支持
13. 代码完全开源
""",
'price': 68.00,
'currency': 'EUR',
'depends': [
'app_odoo_customize',
'web_enterprise',
# 'web_mobile'
],
'images': ['static/description/banner.png'],
'data': [
'views/webclient_templates.xml',
],
'assets': {
# 企业版变色注意这个是变量定义要before
'web._assets_primary_variables': [
('before', 'web_enterprise/static/src/scss/primary_variables.scss', 'app_web_enterprise/static/src/scss/primary_variables.scss'),
],
'web.assets_backend': [
# ('before', 'web/static/src/views/**/*', 'app_web_enterprise/static/src/scss/app_style_before.scss'),
# ('after', 'web/static/src/views/**/*', 'app_web_enterprise/static/src/scss/app_style_after.scss'),
# 'app_web_enterprise/static/src/components/*/*.xml',
'app_web_enterprise/static/src/webclient/navbar.xml',
'app_web_enterprise/static/src/xml/res_config_edition.xml',
'app_web_enterprise/static/src/xml/form.xml',
],
# 这里是改样式,要 after处理
'web.assets_common': [
# ('after', 'web/static/lib/jquery.ui/jquery-ui.css', 'app_web_enterprise/static/lib/jquery.ui/jquery-ui.css'),
# ('after', 'web_enterprise/static/src/webclient/home_menu/home_menu_background.scss', 'app_web_enterprise/static/src/scss/home_menu_background.scss'),
],
'web.assets_frontend': [
# ('after', 'web/static/src/core/**/*', 'app_web_enterprise/static/src/xml/base.xml'),
# ('after', 'web_enterprise/static/src/webclient/home_menu/home_menu_background.scss', 'app_web_enterprise/static/src/scss/home_menu_background.scss'),
# 'app_web_enterprise/static/src/scss/app_style_website.scss',
],
},
# 'demo': [
# ],
# 'test': [
# ],
'images': ['static/description/app_web_enterprise_03.jpg'],
'post_load': None,
'post_init_hook': None,
'installable': True,
'application': True,
'auto_install': True,
}

View File

@@ -0,0 +1 @@
# -*- coding: utf-8 -*-

View File

@@ -0,0 +1,30 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * app_web_enterprise
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0+e-20230320\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-22 18:11+0000\n"
"PO-Revision-Date: 2023-04-22 18:11+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: app_web_enterprise
#. odoo-javascript
#: code:addons/app_web_enterprise/static/src/xml/form.xml:0
#, python-format
msgid "Discard"
msgstr "丢弃"
#. module: app_web_enterprise
#. odoo-javascript
#: code:addons/app_web_enterprise/static/src/xml/form.xml:0
#, python-format
msgid "Save"
msgstr "保存"

View File

@@ -0,0 +1 @@
# -*- coding: utf-8 -*-

View File

@@ -0,0 +1 @@
# -*- coding: utf-8 -*-

View File

@@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-

View File

@@ -0,0 +1 @@
# -*- coding: utf-8 -*-

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
# -*- coding: utf-8 -*-
##############################################################################
# Copyright (C) 2009~2023 odooAi.cn
##############################################################################
-->
<html>
<!-- begin title-->
<section class="oe_container container o_cc o_cc2">
<h1 class="text-center bg-warning text-white pt24 pb24">odoo Enterprise version enhance Pack</h1>
<h3 class="text-center">Replace odoo logo to your company logo</h3>
<h4 class="text-center">Make odoo Enterprise version better UI and flexible</h4>
</section>
<!-- end title-->
<section class="oe_container container">
<div class="oe_row oe_spaced" style="max-width: 95%;">
<div class="row">
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
<h2 class="mt32 mb32">More Powerful addons:
<a class="btn btn-primary mb16" href="http://www.odoo.com/apps/modules/browse?author=odooai.cn">odooai.cn Odoo Addons</a>
</h2>
<h3>Lastest update: v16.23.09.04</h3>
<p>This moduld allows user to . </p>
<ul>
<li class="mb8">1.Add dropdown arrow to parent menu.</li>
<li class="mb8">2.Replace the odoo logo or url to your company in menu and page.</li>
<li class="mb8">3.Add underline for input field.</li>
<li class="mb8">4.Add grid line form list view. Easy to read list data.</li>
</ul>
</div>
<div class="oe_demo oe_screenshot img img-fluid mt32">
<img src="app_web_enterprise_01.jpg" style="border:1px solid black"/>
<br/>
</div>
<div class="oe_demo oe_screenshot img img-fluid mt32">
<img src="app_web_enterprise_03.jpg" style="border:1px solid black"/>
<br/>
</div>
<div class="oe_demo oe_screenshot img img-fluid mt32">
<img src="b03.png" style="border:1px solid black"/>
<br/>
</div>
<div class="oe_demo oe_screenshot img img-fluid mt32">
<img src="b04.png" style="border:1px solid black"/>
<br/>
</div>
<div class="oe_row oe_spaced" style="max-width: 95%;">
<div class="oe_demo"
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
<h2 class='oe_mt32'>Customize Module Url(eg. Enterprise).</h2>
</div>
<div class="oe_demo oe_screenshot img img-fluid">
<img src="set21.jpg" style="border:1px solid black"/>
<br/>
</div>
</div>
</div>
</div>
<section class="container oe_dark">
<div class="oe_row oe_spaced text-center">
<div class="row">
<h2 class="oe_slogan">Technical Help & Support</h2>
</div>
<div class="col-md-12 pad0">
<div class="oe_mt16">
<p><h4>
For any type of technical help & support requests, Feel free to contact us</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:odoo@china.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> odoo@china.com</a>
<p><h4>
Via QQ: 300883 (App user would not get QQ or any other IM support. Only for odoo project customize.)</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:300883@qq.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> 300883@qq.com</a>
</div>
<div class="oe_mt16">
<h4>
Visit our website for more support.</h4>
<h4>https://www.odooai.cn</h4>
</div>
</div>
</div>
</section>

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@@ -0,0 +1,3 @@
.ui-widget {
font-size: 1.5em;
}

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<templates xml:space="preserve">
<t t-name="mail.TrackingValue" t-inherit="mail.TrackingValue" t-inherit_mode="extension" owl="1">
<xpath expr="//span[hasclass('o_TrackingValue_fieldName')]" position="replace">
<span class="o_TrackingValue_fieldName ms-1 fw-bold text-muted" t-esc="trackingValue.formattedChangedField + ':'"/>
</xpath>
<xpath expr="//span[@t-esc='trackingValue.oldValue.formattedValueOrNone']" position="before">
<xpath expr="//span[hasclass('o_TrackingValue_fieldName')]" position="move"/>
</xpath>
</t>
</templates>

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="2000" height="1128" viewBox="0 0 2000 1128">
<polygon fill-opacity=".03" points="0 1077.844 392.627 778.443 1504.99 1127.745 0 1127.745"/>
<polygon fill-opacity=".02" points="392.216 778.443 283.294 0 0 0 0 666.504"/>
<polygon fill-opacity=".03" points="1000 0 2000 1009.98 2000 439.94 1749.817 0"/>
</svg>

After

Width:  |  Height:  |  Size: 366 B

View File

@@ -0,0 +1,135 @@
// 不显示 tooltip
.o_tooltip.o_tooltip_visible {
display: none;
}
// 上方菜单下拉group 也有箭头
.o_main_navbar {
.o-dropdown {
.dropdown-menu_group.dropdown-header::after {
display: inline-block;
margin-left: 3.4px;
vertical-align: 3.4px;
content: "";
border-top: 4px solid;
border-right: 4px solid transparent;
border-bottom: 0;
border-left: 4px solid transparent;
}
}
}
//list
.o_list_renderer.table-responsive .o_list_table {
//list 改标头背景o2m这里分开写
:not(.o_field_x2many_list) > & thead, tfoot {
tr {
background-color: $o-gray-100;
}
}
.o_field_x2many_list > & thead, tfoot {
tr {
background-color: $o-gray-100;
}
}
//列表标头下显示边框,标尾头显示边框
> :not(:first-child) {
border-top-width: 2px;
}
//列表标头左右下显示边框
--ListRenderer-thead-border-end-color: #{map-get($grays, '300')};
//内容显示边框
.o_data_row > .o_data_cell {
border-left: 1px solid map-get($grays, '300');
border-right: 1px solid map-get($grays, '300');
}
.o_data_row:not(.o_selected_row) > .o_data_cell:not(.o_readonly_modifier):not(:last-child) {
border-left: 1px solid map-get($grays, '300');
border-right: 1px solid map-get($grays, '300');
}
}
//form
// create 按键
.o_form_view .o_form_view_container {
button.o_form_button_create {
min-width: 4rem;
}
}
@media (max-width: 768px) {
.o_form_view .o_form_view_container {
.o_form_sheet_bg .o_form_sheet {
margin: 6px auto;
max-width: 98%;
}
}
}
@media (min-width: 768px) {
.o_form_view .o_form_view_container .o_form_sheet_bg .o_form_sheet {
max-width: 98%;
}
}
@media (min-width: 992px) {
.o_form_view .o_form_view_container .o_form_sheet_bg .o_form_sheet {
max-width: 98%;
}
}
@media (min-width: 1200px) {
.o_form_view .o_form_view_container .o_form_sheet_bg .o_form_sheet {
max-width: 98%;
}
}
@media (min-width: 1400px) {
.o_form_view .o_form_view_container .o_form_sheet_bg .o_form_sheet {
max-width: 98%;
}
}
//izi
.izi_view {
.izi_dashboard_filter_title span {
background: #00796B;
}
.izi_dashboard_filter {
color: #00796B;
border: 1px solid #00796B;
}
.izi_dashboard_filter_content .dropdown-toggle {
color: #00796B;
}
.izi_btn.izi_btn_wpb {
border-color: #00796B;
color: #00796B;
}
.izi_btn.izi_btn_wpb:hover,
.izi_btn.izi_btn_wpb:not(:disabled):not(.disabled):active,
.izi_btn.izi_btn_wpb:not(:disabled):not(.disabled).active,
.show > .izi_btn.izi_btn_wpb.dropdown-toggle {
background-color: #00796B;
border-color: #00796B;
}
/* wlp - White Light Purple*/
.izi_btn.izi_btn_wlp {
color: #00796B;
}
.izi_btn.izi_btn_wlp:hover,
.izi_btn.izi_btn_wlp:not(:disabled):not(.disabled):active,
.izi_btn.izi_btn_wlp:not(:disabled):not(.disabled).active,
.show > .izi_btn.izi_btn_wlp.dropdown-toggle {
color: #00796B;
}
}

View File

@@ -0,0 +1,8 @@
// 编辑模式默认 input下方border 有颜色
.o_form_view {
.o_form_view_container {
&:not(.o_field_highlight) .o_field_widget:not(.o_field_invalid):not(.o_field_highlight) .o_input:not(:hover):not(:focus) {
--o-input-border-color: #{map-get($grays, '200')};
}
}
}

View File

@@ -0,0 +1,22 @@
//网站的 oe_structure_header_contact_1 滚动时不可见
.o_header_affixed .oe_structure_solo {
display: none;
}
//小屏时,顶部高度为 30px
//form
@media (max-width: 768px) {
header {
.navbar-brand.logo img {
height: 40px;
}
.navbar {
padding-top: 0;
padding-bottom: 0;
}
}
.o_header_affixed.o_header_is_scrolled .navbar-brand img {
height: 40px;
}
}

View File

@@ -0,0 +1,11 @@
.o_home_menu_background, .o_web_client.o_home_menu_background {
background: {
size: cover;
attachment: fixed;
color: var(--homeMenu-bg-color, #00463e);
image: var(--homeMenu-bg-image,
linear-gradient(to right bottom, #00796B, #00463e),
url("/app_web_enterprise/static/src/img/home-menu-bg-overlay.svg")
);
}
}

View File

@@ -0,0 +1,3 @@
$o-enterprise-color: #00796B !default;
$o-brand-odoo: $o-enterprise-color !default;

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve">
<!--<t t-name="app_web_enterprise.EnterpriseNavBar" t-inherit="web_enterprise.EnterpriseNavBar" t-inherit-mode="extension">-->
<!--&lt;!&ndash; todo: 以下主要是测试,改这个主图标为 O &ndash;&gt;-->
<!-- <xpath expr="//a[hasclass('o_menu_toggle')]" position="replace">-->
<!-- <a href="#" class="o_menu_toggle fa fa-2x fa-opera" style="font-size: 2em;" accesskey="h" t-ref="menuApps" t-on-click.prevent="() => this.hm.toggle()">-->
<!-- </a>-->
<!-- </xpath>-->
<!--</t>-->
<!-- 菜单有下拉箭头, owl的在 web.NavBar 首行用 MenuDropdown 下拉的用 DropdownItem -->
<!-- owl NavBar-->
<t t-name="app_web_enterprise.NavBar.SectionsMenu" t-inherit="web.NavBar.SectionsMenu" t-inherit-mode="extension">
<xpath expr="//MenuDropdown" position="attributes">
<attribute name="showCaret">true</attribute>
</xpath>
</t>
<!-- <t t-name="app_web_enterprise.NavBar.SectionsMenu.Dropdown.MenuSlot" t-inherit="web.NavBar.SectionsMenu.Dropdown.MenuSlot" t-inherit-mode="extension">-->
<!-- <xpath expr="//DropdownItem[1]" position="attributes">-->
<!-- <attribute name="showCaret">true</attribute>-->
<!-- </xpath>-->
<!-- </t>-->
</templates>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<!-- <t t-extend="HomeMenu.Content">-->
<!-- <t t-jquery=".o_home_menu_footer" t-operation="inner">-->
<!-- <img src='/web/binary/company_logo' alt="Logo"/>-->
<!-- </t>-->
<!-- </t>-->
</templates>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve">
<!-- tip用 *-->
<t t-name="app_web_enterprise.FormLabel" t-inherit="web.FormLabel" t-inherit-mode="extension">
<xpath expr="//label" position="replace">
<label class="o_form_label" t-att-for="props.id" t-att-class="className" >
<t t-esc="props.string"/>
<sup class="btn-link p-1" t-if="hasTooltip" t-att="{'data-tooltip-template': 'web.FieldTooltip', 'data-tooltip-info': tooltipInfo, 'data-tooltip-touch-tap-to-show': 'true'}">*</sup>
</label>
</xpath>
</t>
<!-- 保存增加字样-->
<t t-name="app_web_enterprise.FormStatusIndicator" t-inherit="web.FormStatusIndicator" t-inherit-mode="extension">
<xpath expr="//i[hasclass('fa-cloud-upload')]" position="after">
Save
</xpath>
<xpath expr="//i[hasclass('fa-undo')]" position="after">
Discard
</xpath>
</t>
<!-- 创建移到左边-->
<!-- <t t-name="app_web_enterprise.FormControlPanel" t-inherit="web.FormControlPanel" t-inherit-mode="extension">-->
<!-- <xpath expr="//div[hasclass('o_cp_bottom_right')]//t[3]" position="replace"/>-->
<!-- <xpath expr="//div[hasclass('o_cp_top_left')]" position="inside">-->
<!-- <t t-slot="control-panel-create-button" />-->
<!-- </xpath>-->
<!-- </t>-->
</templates>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve">
<t t-inherit="web.res_config_edition" t-inherit-mode="extension" owl="1">
<xpath expr="//div[hasclass('user-heading')]//h3" position="replace">
<h3 class="px-0">
Odoo <t t-esc="serverVersion"/> (<a target="_blank" href="https://www.odooai.cn" style="text-decoration: underline;">odooai.cn</a> Edition)
</h3>
</xpath>
</t>
</templates>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- 企业版变色 -->
<template id="app_layout" inherit_id="web.layout" name="app Web layout">
<xpath expr="//meta[last()]" position="after">
<meta name="theme-color" content="#00796B"/>
<meta name="mobile-web-app-capable" content="yes"/>
<!-- Windows Phone -->
<meta name="msapplication-navbutton-color" content="#00796B"/>
<meta name="msapplication-TileColor" content="#00796B"/>
<!-- iOS Safari -->
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="theme-color" content="#00796B" media="(prefers-color-scheme: light)"/>
<meta name="theme-color" content="#242733" media="(prefers-color-scheme: dark)"/>
</xpath>
</template>
<!-- <template id="replace_theme_color" name="Replace theme color" inherit_id="web.webclient_bootstrap">-->
<!-- <xpath expr="//meta[@name='theme-color']" position="replace">-->
<!-- <meta name="theme-color" content="#875A7B"/>-->
<!-- &lt;!&ndash; Windows Phone &ndash;&gt;-->
<!-- <meta name="msapplication-navbutton-color" content="#00796B"/>-->
<!-- &lt;!&ndash; iOS Safari &ndash;&gt;-->
<!-- <meta name="apple-mobile-web-app-capable" content="yes"/>-->
<!-- <meta name="theme-color" content="#875A7B" media="(prefers-color-scheme: light)"/>-->
<!-- <meta name="theme-color" content="#242733" media="(prefers-color-scheme: dark)"/>-->
<!-- </xpath>-->
<!-- </template>-->
</odoo>

View File

@@ -9,7 +9,7 @@
{ {
'name': '2024最新中国会计科目表.企业标准会计.Latest Chinese Accounting for odoo16', 'name': '2024最新中国会计科目表.企业标准会计.Latest Chinese Accounting for odoo16',
'version': '17.23.09.18', 'version': '23.09.18',
'author': 'odooai.cn', 'author': 'odooai.cn',
'category': 'Accounting/Localizations/Account Charts', 'category': 'Accounting/Localizations/Account Charts',
'website': 'https://www.odooai.cn', 'website': 'https://www.odooai.cn',