init common and customize

This commit is contained in:
Ivan Office
2024-08-19 18:41:50 +08:00
parent 6f068e6c27
commit 7025bb9611
354 changed files with 14557 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- 处理 title 及 theme-color-->
<template id="app_layout" inherit_id="web.layout" name="app Web layout">
<xpath expr="//title" position="replace">
<title t-esc="title or 'odooAi'"/>
</xpath>
</template>
<!-- end-->
<template id="replace_login" name="Login Layout" inherit_id="web.login_layout">
<xpath expr="//a[@target='_blank']" position="replace">
<a href="https://www.odooai.cn" target="_blank">Powered by
<span>odooai.cn</span>
</a>
</xpath>
</template>
<template id="replace_copyright_name" name="Copyright Name" inherit_id="web.frontend_layout">
<xpath expr="//span[hasclass('o_footer_copyright_name')]" position="replace">
<span class="o_footer_copyright_name me-2">Copyright &amp;copy;
<span class="copyright_name_before" contenteditable="true">2009-2024 </span>
<span t-field="res_company.name" itemprop="name"/>
<span class="copyright_name_after" contenteditable="true"></span>
</span>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,231 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="view_app_theme_config_settings" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.app_odoo_customize</field>
<field name="model">res.config.settings</field>
<field name="priority">20</field>
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//app[@name='general_settings']" position="before">
<app data-string="OEM &amp; Boost" string="OEM &amp; Boost"
name="app_odoo_customize" data-key="app_odoo_customize" logo="/app_odoo_customize/static/description/icon.png">>
<div class="row app_settings_header my-0 ms-0 mw-100 bg-warning bg-opacity-25">
<div class="col-lg-12 col-md-12 ms-0 o_setting_box">
<div class="o_setting_right_pane border-start-0 ms-0 ps-0">
<div class="content-group">
<div class="row mt8">
<label class="h2 bg-warning text-white" for="app_system_name"/>
<field name="app_system_name"/>
<div>
<a href="https://www.odooai.cn" target="_blank">Visit our website for more apps and Support.
https://www.odooai.cn
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<h2>Security and Boost</h2>
<div class="row mt16 o_settings_container" name="app_security_boost">
<group>
<group>
<field name="app_debug_only_admin"/>
</group>
<group>
<field name="app_stop_subscribe"/>
</group>
</group>
</div>
<h2>Extra Feature</h2>
<div class="row mt16 o_settings_container" name="app_modules">
<div class="col-lg-6 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_app_odoo_doc"/>
</div>
<div class="o_setting_right_pane">
<label for="module_app_odoo_doc"/>
<a href="https://apps.odoo.com/apps/modules/17.0/app_odoo_doc"
title="Get Help Documentation on current odoo operation or topic. Click to get " class="o_doc_link ml8"
target="_blank"/>
<div class="">Get Help Documentation on current odoo operation or topic.</div>
</div>
</div>
<div class="col-lg-6 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_app_chatgpt"/>
</div>
<div class="o_setting_right_pane">
<label for="module_app_chatgpt"/>
<a href="https://apps.odoo.com/apps/modules/17.0/app_chatgpt" class="o_doc_link ml8"
target="_blank"/>
<div class="">Use Ai to make odoo more powerful.</div>
</div>
</div>
</div>
<h2>UI Config</h2>
<div class="row mt16 o_settings_container" name="app_ui_config">
<group string="Navigator">
<group>
<field name="app_navbar_pos_pc"/>
</group>
<group>
<field name="app_navbar_pos_mobile"/>
</group>
</group>
<group string="User Menu">
<group>
<field name="app_show_lang"/>
<field name="app_show_debug"/>
<field name="app_show_documentation"/>
<field name="app_show_support"/>
<field name="app_show_account"/>
</group>
<group>
<field name="app_show_enterprise"/>
<field name="app_show_share"/>
<field name="app_show_poweredby"/>
<field name="group_show_author_in_apps"/>
<field name="module_odoo_referral"/>
</group>
</group>
<group string="User Menu Content">
<label for="app_documentation_url"/>
<div>
<field name="app_documentation_url"/>
</div>
<label for="app_documentation_dev_url"/>
<div>
<field name="app_documentation_dev_url"/>
</div>
<label for="app_support_url"/>
<div>
<field name="app_support_url"/>
</div>
<label for="app_account_title"/>
<div>
<field name="app_account_title"/>
</div>
<label for="app_account_url"/>
<div>
<field name="app_account_url"/>
</div>
<label for="app_ribbon_name"/>
<div>
<field name="app_ribbon_name"/>
<div>
<span>Set to False to hide</span>
</div>
</div>
<label for="app_enterprise_url"/>
<div>
<field name="app_enterprise_url" class="oe_inline"/>
<button string="Click to set" type="object" name="set_module_url" class="ml8 oe_highlight"/>
</div>
</group>
</div>
<h2 name="data-clean" class="o_horizontal_separator">Data Cleaning (Be careful to do that!)</h2>
<div class="mt16 o_settings_container" name="data-clean">
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Sale</span>
<button string="Delete All Sales Order" type="object" name="remove_sales"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">POS</span>
<button string="Delete All POS Order" type="object" name="remove_pos" confirm="Please confirm to delete the select data?"
class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Purchase</span>
<button string="Delete All Purchase Order and Requisition" type="object" name="remove_purchase"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Expense</span>
<button string="Delete All Expense and Sheet" type="object" name="remove_expense"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">MRP</span>
<button string="Delete All Manufacturing Order" type="object" name="remove_mrp"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Delete All BOM" type="object" name="remove_mrp_bom"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Inventory</span>
<button string="Delete All Move/Picking/Package/Lot" type="object" name="remove_inventory"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">
Accounting
</span>
<button string="Delete All Voucher/Invoice/Bill" type="object" name="remove_account"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Clean and reset Account Chart" type="object" name="remove_account_chart"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Project</span>
<button string="Delete All Project/Task/Forecast" type="object" name="remove_project"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Quality</span>
<button string="Delete All Quality" type="object" name="remove_quality"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Delete All Quality Setting" type="object" name="remove_quality_setting"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Website And Blog</span>
<button string="Delete All Website/Blog" type="object" name="remove_website"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Base Models</span>
<button string="Delete All Product" type="object" name="remove_product"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Delete All Product Attribute" type="object" name="remove_product_attribute"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Delete All Message" type="object" name="remove_message"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Delete All Workflow" type="object" name="remove_workflow"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Reset Category And Location Complete Name" type="object" name="reset_cat_loc_name" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">All Business</span>
<button string="Delete All MRP/Sale/Purchase/Account/MRP/Inventory/Project/Message/Workflow" type="object" name="remove_all_biz"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
</div>
</app>
</xpath>
</field>
</record>
<record id="action_app_theme_config" model="ir.actions.act_window">
<field name="name">OEM and Boost</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.config.settings</field>
<field name="view_mode">form</field>
<field name="target">inline</field>
<field name="context">{'module' : 'app_odoo_customize', 'bin_size': False}</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- <record id="app_view_model_data_list" model="ir.ui.view">-->
<!-- <field name="name">app.ir.model.data.tree</field>-->
<!-- <field name="model">ir.model.data</field>-->
<!-- <field name="inherit_id" ref="base.view_model_data_list"/>-->
<!-- <field name="arch" type="xml">-->
<!-- <field name="res_id" position="after">-->
<!-- <field name="noupdate"/>-->
<!-- </field>-->
<!-- </field>-->
<!-- </record>-->
<record id="app_view_model_data_search" model="ir.ui.view">
<field name="name">app.ir.model.data.search</field>
<field name="model">ir.model.data</field>
<field name="inherit_id" ref="base.view_model_data_search"/>
<field name="arch" type="xml">
<filter name="updatable" position="after">
<filter string="No Updatable" name="noupdatable" domain="[('noupdate', '=', True)]"/>
</filter>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="app_view_model_fields_tree" model="ir.ui.view">
<field name="name">app.ir.model.fields tree</field>
<field name="model">ir.model.fields</field>
<field name="inherit_id" ref="base.view_model_fields_tree"/>
<field name="arch" type="xml">
<field name="readonly" position="before">
<field name="required"/>
</field>
<field name="readonly" position="after">
<field name="index" groups="base.group_no_one"/>
<field name="copied" groups="base.group_no_one"/>
<field name="tracking" groups="base.group_no_one"/>
<field name="translate" groups="base.group_no_one"/>
</field>
</field>
</record>
<record id="app_view_model_fields_search" model="ir.ui.view">
<field name="name">app.ir.ui.view search</field>
<field name="model">ir.model.fields</field>
<field name="inherit_id" ref="base.view_model_fields_search"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="ttype"/>
<field name="relation"/>
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="ir_module_addons_path_tree_view" model="ir.ui.view">
<field name="name">ir.module.addons.path.tree</field>
<field name="model">ir.module.addons.path</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="path"/>
</tree>
</field>
</record>
<record id="ir_module_addons_path_form_view" model="ir.ui.view">
<field name="name">ir.module.addons.path.form</field>
<field name="model">ir.module.addons.path</field>
<field name="arch" type="xml">
<form>
<sheet>
<div class="oe_button_box" name="button_box">
<button name="open_apps_view" type="object"
class="oe_stat_button" icon="fa-cubes"
invisible="module_count == 0">
<div class="o_stat_info">
<field name="module_count" class="o_stat_value"/>
<span class="o_stat_text"> Modules </span>
</div>
</button>
</div>
<group>
<group>
<field name="name"/>
<field name="path"/>
</group>
<group>
<field name="color"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="ir_module_addons_path_kanban_view" model="ir.ui.view">
<field name="name">ir.module.addons.path.kanban</field>
<field name="model">ir.module.addons.path</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile" create="0" edit="0" delete="0">
<field name="name"/>
<field name="path"/>
<field name="path_temp"/>
<field name="color"/>
<templates>
<t t-name="kanban-box">
<div t-attf-style="border-left: 3px solid #{record.color.raw_value}" t-attf-class="oe_kanban_global_click">
<div class="oe_kanban_details">
<strong class="o_kanban_record_title"><field name="name"/></strong>
<ul>
<li class="text-muted"><field name="path_temp"/></li>
<li>
<a name="open_apps_view" href="#" type="object"><field name="module_count"/> Modules</a>
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="action_ir_module_addons_path" model="ir.actions.act_window">
<field name="name">Addons Paths</field>
<field name="res_model">ir.module.addons.path</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{}</field>
<field name="domain">[]</field>
</record>
</odoo>

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- 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"/>
<attribute name="optional">show</attribute>
</field>
<field name="installed_version" position="after">
<field name="addons_path" optional="hide" groups="base.group_no_one"/>
</field>
<field name="website" position="attributes">
<attribute name="optional">hide</attribute>
</field>
<field name="state" position="before">
<field name="license" optional="hide"/>
</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>
<field name="model">ir.module.module</field>
<field name="inherit_id" ref="base.view_module_filter" />
<field name="arch" type="xml">
<field name="name" position="after">
<field name="author"/>
</field>
<filter name="not_installed" position="after">
<filter name="is_local_updatable" string="Local updatable" domain="[('local_updatable', '=', True)]"/>
</filter>
<xpath expr="//search/group" position="inside">
<filter string="Addons Path" name="addons_path" domain="[]" context="{'group_by': 'addons_path_id'}" groups="base.group_no_one"/>
</xpath>
</field>
</record>
<record id="app_module_form" model="ir.ui.view">
<field name="name">app.ir.module.module.form</field>
<field name="model">ir.module.module</field>
<field name="inherit_id" ref="base.module_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='author']/.." position="attributes">
<attribute name="groups">app_odoo_customize.group_show_author_in_apps</attribute>
</xpath>
<field name="category_id" position="after">
<field name="addons_path_id" invisible="1"/>
<field name="addons_path" groups="base.group_no_one"/>
</field>
</field>
</record>
<record id="app_module_view_kanban" model="ir.ui.view">
<field name="name">ir.module.module.kanban.inherit.base</field>
<field name="model">ir.module.module</field>
<field name="inherit_id" ref="base.module_view_kanban"/>
<field name="arch" type="xml">
<!--点击模块看详情-->
<xpath expr="//div[hasclass('oe_module_vignette')]" position="attributes" groups="app_odoo_customize.group_show_quick_upgrade">
<attribute name="class" position="add" separator=" ">oe_kanban_global_click</attribute>
</xpath>
<!--让模块名更显眼-->
<xpath expr="//div[hasclass('oe_module_desc')]//code" position="replace"/>
<xpath expr="//div[hasclass('oe_module_desc')]//h4" position="after">
<code><field name="name"/></code>
</xpath>
<!--显示快速升级-->
<xpath expr="//div[hasclass('oe_module_action')]" position="inside" groups="app_odoo_customize.group_show_quick_upgrade">
<button type="object" class="btn btn-default btn-sm float-right" name="button_uninstall_wizard" t-if="installed">Uninstall</button>
<button type="object" class="btn btn-success btn-sm float-right" name="button_immediate_upgrade" t-if="installed">Upgrade</button>
</xpath>
<!--显示导出翻译-->
<xpath expr="//t[@t-name='kanban-menu']" position="inside">
<a t-if="installed" name="%(app_odoo_customize.action_server_module_multi_get_po)d" type="action" role="menuitem" class="dropdown-item">Export Translation</a>
<a t-if="installed" name="%(app_odoo_customize.action_server_module_multi_refresh_po)d" type="action" role="menuitem" class="dropdown-item">Refresh Translation</a>
</xpath>
<xpath expr="//div[hasclass('oe_module_action')]/a[@target='_blank']" position="replace" groups="app_odoo_customize.group_show_quick_upgrade"/>
</field>
</record>
<!--默认打开可更新模块-->
<!--<record id="base.open_module_tree" model="ir.actions.act_window">-->
<!--<field name="context">{'search_default_is_local_updatable':1}</field>-->
<!--</record>-->
</odoo>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
</odoo>

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="0">
<!-- 将菜单管理在设置中提前-->
<record id="base.menu_grant_menu_access" model="ir.ui.menu">
<field name="parent_id" ref="base.menu_administration"/>
</record>
<record id="app_edit_menu" model="ir.ui.view">
<field name="name">app.ir.ui.menu.tree</field>
<field name="model">ir.ui.menu</field>
<field name="inherit_id" ref="base.edit_menu"/>
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="multi_edit">1</attribute>
</xpath>
<field name="complete_name" position="after">
<field name="name"/>
<field name="parent_id"/>
</field>
</field>
</record>
<record id="app_edit_menu_access_search" model="ir.ui.view">
<field name="name">app.ir.ui.menu.search</field>
<field name="model">ir.ui.menu</field>
<field name="inherit_id" ref="base.edit_menu_access_search"/>
<field name="arch" type="xml">
<filter name="inactive" position="before">
<filter string="Top Menu" name="top_menu" domain="[('parent_id','=', False)]"/>
</filter>
</field>
</record>
<!-- <record id="base.grant_menu_access" model="ir.actions.act_window">-->
<!-- <field name="context">{'ir.ui.menu.full_list': True, 'search_default_top_menu': 1}</field>-->
<!-- </record>-->
<!-- <record id="base.grant_menu_access" model="ir.actions.act_window">-->
<!-- <field name="context">{'ir.ui.menu.full_list': True, 'search_default_top_menu': 1}</field>-->
<!-- </record>-->
<menuitem
id="menu_app_group"
name="odooAi"
parent="base.menu_administration"
sequence="1"
groups="base.group_system"/>
<menuitem
id="menu_app_theme_config"
parent="menu_app_group"
sequence="1"
action="action_app_theme_config"
groups="base.group_system"/>
<menuitem
id="menu_ir_cron"
name="Scheduled Actions"
parent="menu_app_group"
sequence="91"
action="base.ir_cron_act"
groups="base.group_system"/>
<menuitem
id="menu_ir_module_addons_path"
name="Addons Paths"
parent="menu_app_group"
sequence="92"
action="action_ir_module_addons_path"
groups="base.group_system"/>
<!--增加导入Demo数据-->
<menuitem
id="menu_app_demo_data"
parent="menu_app_group"
sequence="93"
action="base.demo_force_install_action"
groups="base.group_system"/>
<menuitem
id="menu_ir_config_list"
name="System Parameters"
parent="menu_app_group"
sequence="94"
action="base.ir_config_list_action"
groups="base.group_system"/>
</data>
</odoo>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="app_view_view_tree" model="ir.ui.view">
<field name="name">app.ir.ui.view tree</field>
<field name="model">ir.ui.view</field>
<field name="inherit_id" ref="base.view_view_tree"/>
<field name="arch" type="xml">
<field name="model" position="after">
<field name="priority"/>
<field name="mode"/>
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<record id="action_server_module_multi_uninstall" model="ir.actions.server">
<field name="name">Uninstall Modules</field>
<field name="type">ir.actions.server</field>
<field name="binding_model_id" ref="base.model_ir_module_module" />
<field name="model_id" ref="base.model_ir_module_module" />
<field name="state">code</field>
<field name="code">
if records:
records.module_multi_uninstall()
</field>
</record>
<record id="action_server_module_multi_refresh_po" model="ir.actions.server">
<field name="name">Refresh Translation</field>
<field name="type">ir.actions.server</field>
<field name="binding_model_id" ref="base.model_ir_module_module" />
<field name="model_id" ref="base.model_ir_module_module" />
<field name="state">code</field>
<field name="code">action=records.module_multi_refresh_po()</field>
</record>
<record id="action_server_module_multi_get_po" model="ir.actions.act_window">
<field name="name">Export Translation</field>
<field name="type">ir.actions.act_window</field>
<field name="binding_model_id" ref="base.model_ir_module_module" />
<field name="res_model">base.language.export</field>
<field name="view_id" ref="base.wizard_lang_export"/>
<field name="target">new</field>
<field name="context">{
'default_lang': 'zh_CN',
'default_format': 'po',
'default_modules': active_ids,
}
</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="app_res_config_settings_view_form" model="ir.ui.view">
<field name="name">app.res.config.settings.view.form</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="base_setup.res_config_settings_view_form" />
<field name="arch" type="xml">
<setting id="appstore" position="attributes">
<attribute name="invisible">1</attribute>
</setting>
</field>
</record>
</data>
</odoo>