init 17 部署及app
@@ -18,7 +18,7 @@
|
||||
|
||||
{
|
||||
'name': 'odoo中文版套件之基础,中国会计基础,Chinese Enhance All in One,',
|
||||
'version': '17.23.11.06',
|
||||
'version': '23.11.06',
|
||||
'author': 'odooai.cn',
|
||||
'category': 'Base',
|
||||
'website': 'https://www.odooai.cn',
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
{
|
||||
'name': 'ChatGPT4, China Ali,AiGC Center.Ai服务中心,聚合全网Ai',
|
||||
'version': '17.23.10.19',
|
||||
'version': '23.10.19',
|
||||
'author': 'odooai.cn',
|
||||
'company': 'odooai.cn',
|
||||
'maintainer': 'odooai.cn',
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
{
|
||||
'name': "odooAi Common Util and Tools",
|
||||
'version': '17.23.10.30',
|
||||
'version': '23.11.16',
|
||||
'author': 'odooai.cn',
|
||||
'category': 'Base',
|
||||
'website': 'https://www.odooai.cn',
|
||||
|
||||
@@ -27,16 +27,16 @@ def app_relaxng(view_type):
|
||||
_relaxng_cache[view_type] = None
|
||||
return _relaxng_cache[view_type]
|
||||
|
||||
view_validation.relaxng = app_relaxng
|
||||
|
||||
class View(models.Model):
|
||||
_inherit = 'ir.ui.view'
|
||||
|
||||
def __init__(self, env, ids, prefetch_ids):
|
||||
# 这里应该是无必要,但为了更安全
|
||||
super(View, self).__init__(env, ids, prefetch_ids)
|
||||
view_validation.relaxng = app_relaxng
|
||||
|
||||
# todo: 有可能需要处理增加的 header等标签
|
||||
# 直接重写原生方法
|
||||
# def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False):
|
||||
# view_validation.relaxng = app_relaxng
|
||||
#
|
||||
# class View(models.Model):
|
||||
# _inherit = 'ir.ui.view'
|
||||
#
|
||||
# def __init__(self, env, ids, prefetch_ids):
|
||||
# # 这里应该是无必要,但为了更安全
|
||||
# super(View, self).__init__(env, ids, prefetch_ids)
|
||||
# view_validation.relaxng = app_relaxng
|
||||
#
|
||||
# # todo: 有可能需要处理增加的 header等标签
|
||||
# # 直接重写原生方法
|
||||
# # def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False):
|
||||
|
||||
@@ -40,19 +40,6 @@
|
||||
</rng:optional>
|
||||
</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:optional>
|
||||
<rng:attribute name="groups"/>
|
||||
@@ -95,7 +82,6 @@
|
||||
<rng:element name="label">
|
||||
<rng:ref name="overload"/>
|
||||
<rng:ref name="access_rights"/>
|
||||
<rng:ref name="modifiable"/>
|
||||
<rng:optional><rng:attribute name="invisible"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="align"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="nolabel"/></rng:optional>
|
||||
@@ -147,7 +133,6 @@
|
||||
<rng:element name="separator">
|
||||
<rng:ref name="overload"/>
|
||||
<rng:ref name="access_rights"/>
|
||||
<rng:ref name="modifiable"/>
|
||||
<rng:optional><rng:attribute name="invisible"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="name"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="colspan"/></rng:optional>
|
||||
@@ -208,10 +193,7 @@
|
||||
<rng:attribute name="name" />
|
||||
<rng:ref name="overload"/>
|
||||
<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="attrs"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="class"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="string"/></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="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="password"/></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="widget"/></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="icon"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="mode"/></rng:optional>
|
||||
@@ -323,12 +305,9 @@
|
||||
<rng:element name="group">
|
||||
<rng:ref name="overload"/>
|
||||
<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="rowspan"/></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="fill"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="height"/></rng:optional>
|
||||
@@ -347,14 +326,12 @@
|
||||
<rng:element name="button">
|
||||
<rng:ref name="overload"/>
|
||||
<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="column_invisible"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="disabled"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="name" /></rng:optional>
|
||||
<rng:optional><rng:attribute name="icon" /></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="special" /></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="aria-label"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="aria-pressed"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="display"/></rng:optional>
|
||||
<rng:zeroOrMore>
|
||||
<rng:choice>
|
||||
<rng:ref name="field" />
|
||||
@@ -390,9 +368,7 @@
|
||||
<rng:element name="filter">
|
||||
<rng:ref name="overload"/>
|
||||
<rng:ref name="access_rights"/>
|
||||
<rng:ref name="modifiable"/>
|
||||
<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="invisible"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="separator" /></rng:optional>
|
||||
@@ -442,4 +418,11 @@
|
||||
</rng:element>
|
||||
</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>
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
<rng:optional><rng:attribute name="delete"/></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_group_select"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="export_xlsx"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="duplicate"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="import"/></rng:optional>
|
||||
@@ -36,8 +35,8 @@
|
||||
<rng:optional><rng:attribute name="class"/></rng:optional>
|
||||
<!-- Allows to take a custom View widget for handling -->
|
||||
<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_group_by"/></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-danger"/></rng:optional>
|
||||
@@ -60,6 +59,7 @@
|
||||
<rng:optional><rng:attribute name="sample"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="action"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="type"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="open_form_view"/></rng:optional>
|
||||
<rng:optional>
|
||||
<rng:attribute name="limit">
|
||||
<rng:data type="int"/>
|
||||
@@ -93,6 +93,7 @@
|
||||
</rng:element>
|
||||
<rng:ref name="control"/>
|
||||
<rng:ref name="field"/>
|
||||
<rng:ref name="widget"/>
|
||||
<rng:ref name="separator"/>
|
||||
<rng:ref name="tree"/>
|
||||
<rng:ref name="groupby"/>
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<record id="app_ir_cron_view_tree" model="ir.ui.view">
|
||||
<field name="name">app.ir.cron.tree</field>
|
||||
<field name="model">ir.cron</field>
|
||||
<field name="inherit_id" ref="base.ir_cron_view_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='active']" position="before">
|
||||
<field name='trigger_user_id' optional="show"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<data>
|
||||
<record id="app_ir_cron_view_tree" model="ir.ui.view">
|
||||
<field name="name">app.ir.cron.tree</field>
|
||||
<field name="model">ir.cron</field>
|
||||
<field name="inherit_id" ref="base.ir_cron_view_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='active']" position="before">
|
||||
<field name='trigger_user_id' optional="show"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
{
|
||||
'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',
|
||||
'category': 'Extra Tools',
|
||||
'website': 'https://www.odooai.cn',
|
||||
|
||||
@@ -1,24 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- 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-->
|
||||
<record id="app_view_module_filter" model="ir.ui.view">
|
||||
<field name="name">app.ir.module.module.list.select</field>
|
||||
@@ -42,9 +24,9 @@
|
||||
<field name="model">ir.module.module</field>
|
||||
<field name="inherit_id" ref="base.module_form"/>
|
||||
<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>
|
||||
</h3>
|
||||
</xpath>
|
||||
<field name="category_id" position="after">
|
||||
<field name="addons_path_id" invisible="1"/>
|
||||
<field name="addons_path" groups="base.group_no_one"/>
|
||||
|
||||
6
app_web_enterprise/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import controllers
|
||||
from . import models
|
||||
from . import ir
|
||||
from . import res
|
||||
104
app_web_enterprise/__manifest__.py
Normal 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,
|
||||
}
|
||||
1
app_web_enterprise/controllers/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
30
app_web_enterprise/i18n/zh_CN.po
Normal 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 "保存"
|
||||
1
app_web_enterprise/ir/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
1
app_web_enterprise/models/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
2
app_web_enterprise/report/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
1
app_web_enterprise/res/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
BIN
app_web_enterprise/static/description/app_web_enterprise_01.jpg
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
app_web_enterprise/static/description/app_web_enterprise_02.jpg
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
app_web_enterprise/static/description/app_web_enterprise_03.jpg
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
app_web_enterprise/static/description/b03.png
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
app_web_enterprise/static/description/b04.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
app_web_enterprise/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
app_web_enterprise/static/description/banner1.png
Normal file
|
After Width: | Height: | Size: 204 KiB |
BIN
app_web_enterprise/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
93
app_web_enterprise/static/description/index.html
Normal 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>
|
||||
|
||||
BIN
app_web_enterprise/static/description/set21.jpg
Normal file
|
After Width: | Height: | Size: 76 KiB |
3
app_web_enterprise/static/lib/jquery.ui/jquery-ui.css
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.ui-widget {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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 |
135
app_web_enterprise/static/src/scss/app_style_after.scss
Normal 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;
|
||||
}
|
||||
}
|
||||
8
app_web_enterprise/static/src/scss/app_style_before.scss
Normal 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')};
|
||||
}
|
||||
}
|
||||
}
|
||||
22
app_web_enterprise/static/src/scss/app_style_website.scss
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
11
app_web_enterprise/static/src/scss/home_menu_background.scss
Normal 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")
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
$o-enterprise-color: #00796B !default;
|
||||
|
||||
$o-brand-odoo: $o-enterprise-color !default;
|
||||
23
app_web_enterprise/static/src/webclient/navbar.xml
Normal 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">-->
|
||||
<!--<!– todo: 以下主要是测试,改这个主图标为 O –>-->
|
||||
<!-- <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>
|
||||
8
app_web_enterprise/static/src/xml/base.xml
Normal 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>
|
||||
28
app_web_enterprise/static/src/xml/form.xml
Normal 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>
|
||||
10
app_web_enterprise/static/src/xml/res_config_edition.xml
Normal 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>
|
||||
28
app_web_enterprise/views/webclient_templates.xml
Normal 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"/>-->
|
||||
<!-- <!– Windows Phone –>-->
|
||||
<!-- <meta name="msapplication-navbutton-color" content="#00796B"/>-->
|
||||
<!-- <!– iOS Safari –>-->
|
||||
<!-- <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>
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
{
|
||||
'name': '2024最新中国会计科目表.企业标准会计.Latest Chinese Accounting for odoo16',
|
||||
'version': '17.23.09.18',
|
||||
'version': '23.09.18',
|
||||
'author': 'odooai.cn',
|
||||
'category': 'Accounting/Localizations/Account Charts',
|
||||
'website': 'https://www.odooai.cn',
|
||||
|
||||