Merge remote-tracking branch 'origin/16.0' into 16.0

This commit is contained in:
Ivan x360
2023-10-03 23:00:32 +08:00
13 changed files with 133 additions and 37 deletions

View File

@@ -1,4 +1,4 @@
Odoo Addon for 16,15,14,13,12,11,10 Odoo Addon for 17,16,15,14,13,12,11,10
## Todo ## Todo
test update test update

View File

@@ -22,7 +22,7 @@
# description: # description:
{ {
'name': 'odoo Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data,Development Enhance', 'name': 'odoo17 Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data',
'version': '16.23.09.17', 'version': '16.23.09.17',
'author': 'odooai.cn', 'author': 'odooai.cn',
'category': 'Extra Tools', 'category': 'Extra Tools',
@@ -32,9 +32,9 @@
'sequence': 2, 'sequence': 2,
'images': ['static/description/banner.gif'], 'images': ['static/description/banner.gif'],
'summary': """ 'summary': """
Ai as employee. 1 click Tweak odoo. 48 Functions odoo enhancement. for Customize, UI, Boost, Security, Development. Ai as employee.1 click Tweak odoo. 48 Functions odoo enhancement. for Customize,UI,Boost Security,Development.
Easy reset data, clear data, reset account chart, reset Demo data. Easy reset data, clear data, reset account chart, reset Demo data.
For quick debug. Set brand, Language Switcher all in one. For quick debug. Set brand,Language Switcher all in one.
""", """,
'depends': [ 'depends': [
'app_common', 'app_common',
@@ -88,10 +88,11 @@
'application': True, 'application': True,
'auto_install': True, 'auto_install': True,
'description': """ 'description': """
App Customize Odoo (Change Title,Language,Documentation,Quick Debug) App Customize Odoo (Change Title,Language,Documentation,Quick Debug)
============ ============
White label odoo. For Odoo17. Please get from the follow github. Done for 85%.
https://github.com/guohuadeng/app-odoo/tree/17.0
White label odoo. UI and Development Enhance.
Support odoo 16,15,14,13,12,11,10,9. Support odoo 16,15,14,13,12,11,10,9.
You can config odoo, make it look like your own platform. You can config odoo, make it look like your own platform.
1. Deletes Odoo label in footer 1. Deletes Odoo label in footer

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 KiB

After

Width:  |  Height:  |  Size: 546 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@@ -7,22 +7,20 @@
--> -->
<html> <html>
<!-- Modules Title and brief --> <!-- Modules Title and brief -->
<section class="container app">
<div class="oe_row oe_spaced" style="max-width: 95%;"> <!-- begin title-->
<div class="row"> <section class="oe_container container o_cc o_cc2">
<h2 class="oe_slogan">odoo Tweak,Ai Employee,Boost,Customize All in One. OEM,UI,Boost,Security,Data,Development Enhance</h2> <h1 class="text-center bg-warning text-white pt24 pb24">odoo Tweak,Ai Employee,Boost,Customize All in One. </h1>
<h4 class="mt8"> <h3 class="text-center">Customize,UI,Boost,Security,Data,Development Enhance</h3>
You can follow this repo on github. To get the latest update of free odoo app. <h4 class="text-center pt40 text-danger">For Odoo17. Please get from the follow github. Done for 85%.</h4>
<p>https://github.com/guohuadeng/app-odoo</p> <p class="bg-primary"> https://github.com/guohuadeng/app-odoo/tree/17.0 </p>
</h4>
</div>
</div>
</section> </section>
<section class="container app"> <section class="container app">
<div class="oe_row oe_spaced" style="max-width: 95%;"> <div class="oe_row oe_spaced" style="max-width: 95%;">
<div class="row"> <div class="row">
<h2 class="oe_slogan">This is a Long Term Support Apps.Update: v16.23.09.13</h2> <h2 class="oe_slogan">This is a Long Term Support Apps.Update: v16.5.23.09.30</h2>
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;"> <div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
<ul class="list-group"> <ul class="list-group">
<li class="list-group-item">1. Deletes Odoo label in footer</li> <li class="list-group-item">1. Deletes Odoo label in footer</li>

View File

@@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 16.0+e-20230721\n" "Project-Id-Version: Odoo Server 16.0+e-20230721\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-08-28 08:26+0000\n" "POT-Creation-Date: 2023-10-01 19:15+0000\n"
"PO-Revision-Date: 2023-08-28 08:26+0000\n" "PO-Revision-Date: 2023-10-01 19:15+0000\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -17,19 +17,10 @@ msgstr ""
#. module: app_website_blog_editor #. module: app_website_blog_editor
#: model:ir.model,name:app_website_blog_editor.model_blog_blog #: model:ir.model,name:app_website_blog_editor.model_blog_blog
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_post__blog_id
msgid "Blog" msgid "Blog"
msgstr "博客分类" msgstr "博客分类"
#. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_blog_post_form_view_code
msgid "Blog Content"
msgstr "博客内容"
#. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_blog_post_form_view_code
msgid "Blog Name"
msgstr "博客名称"
#. module: app_website_blog_editor #. module: app_website_blog_editor
#: model:ir.model,name:app_website_blog_editor.model_blog_post #: model:ir.model,name:app_website_blog_editor.model_blog_post
msgid "Blog Post" msgid "Blog Post"
@@ -63,11 +54,46 @@ msgstr "博客图文"
msgid "Determine the display order" msgid "Determine the display order"
msgstr "确定显示顺序" msgstr "确定显示顺序"
#. module: app_website_blog_editor
#: model:ir.model.fields,field_description:app_website_blog_editor.field_website_page__is_force_all
msgid "Force All Website"
msgstr "用于站群"
#. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_website_pages_view_search
msgid "Group By"
msgstr "分组依据"
#. module: app_website_blog_editor
#: model:ir.model.fields,help:app_website_blog_editor.field_website_page__is_force_all
msgid "If check, the page would use to all website, even u change."
msgstr "如果选中,该页面将用于所有网站,甚至 u 更改。"
#. module: app_website_blog_editor #. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_res_config_settings_form_view #: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_res_config_settings_form_view
msgid "If set, replaces the blog post background image as the meta image." msgid "If set, replaces the blog post background image as the meta image."
msgstr "如果设置,默认将博文背景图片替换为元图像。" msgstr "如果设置,默认将博文背景图片替换为元图像。"
#. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_search
msgid "Not Published"
msgstr "未发布"
#. module: app_website_blog_editor
#: model:ir.model,name:app_website_blog_editor.model_website_page
msgid "Page"
msgstr "网页"
#. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_search
msgid "Published"
msgstr "发表"
#. module: app_website_blog_editor
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_blog__seo_name
msgid "Seo name"
msgstr "SEO链接名"
#. module: app_website_blog_editor #. module: app_website_blog_editor
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_blog__sequence #: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_blog__sequence
#: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_tag__sequence #: model:ir.model.fields,field_description:app_website_blog_editor.field_blog_tag__sequence
@@ -82,6 +108,7 @@ msgstr "设置"
#. module: app_website_blog_editor #. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_list #: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_view_blog_post_list
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_website_pages_tree_view
msgid "Source Code" msgid "Source Code"
msgstr "源代码" msgstr "源代码"
@@ -97,6 +124,6 @@ msgid "Use a meta image by default for blog post background"
msgstr "博客文章背景默认使用元图像" msgstr "博客文章背景默认使用元图像"
#. module: app_website_blog_editor #. module: app_website_blog_editor
#: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_blog_post_form_view_code #: model_terms:ir.ui.view,arch_db:app_website_blog_editor.app_website_pages_view_search
msgid "Website Description" msgid "Website"
msgstr "网站描述" msgstr "网站"

View File

@@ -26,5 +26,6 @@ from . import blog_tag_category
from . import blog_tag from . import blog_tag
from . import blog_blog from . import blog_blog
from . import blog_post from . import blog_post
from . import ir_ui_view
from . import website_page from . import website_page
from . import res_config_settings from . import res_config_settings

View File

@@ -0,0 +1,16 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models
class IrUiView(models.Model):
_inherit = 'ir.ui.view'
def write(self, vals):
# 处理强制全局, Create时不管
for view in self:
if len(view.page_ids) == 1:
page = view.page_ids[0]
if page.is_force_all:
self = self.with_context(no_cow=1)
return super(IrUiView, self).write(vals)

View File

@@ -6,6 +6,18 @@ from odoo import api, fields, models
class WebsitePage(models.Model): class WebsitePage(models.Model):
_inherit = 'website.page' _inherit = 'website.page'
is_force_all = fields.Boolean('Force All Website', default=False,
help='If check, the page would use to all website, even u change.\n Important, The page url must be uniq in all website')
def write(self, vals):
# 处理强制全局, Create时不管
for page in self:
if page.is_force_all or vals.get('is_force_all'):
vals.update({
'website_id': False
})
return super(WebsitePage, self).write(vals)
def action_page_debug_view(self): def action_page_debug_view(self):
# 直接覆盖原生 # 直接覆盖原生
self.ensure_one() self.ensure_one()
@@ -26,3 +38,13 @@ class WebsitePage(models.Model):
'view_mode': 'form', 'view_mode': 'form',
'view_id': self.env.ref('website.view_view_form_extend').id, 'view_id': self.env.ref('website.view_view_form_extend').id,
} }
def action_page_form_view(self):
self.ensure_one()
return {
'type': 'ir.actions.act_window',
'res_model': 'website.page',
'res_id': self.id,
'view_mode': 'form',
'view_id': self.env.ref('website.website_pages_form_view').id,
}

View File

@@ -34,7 +34,6 @@
</xpath> </xpath>
<xpath expr="//field[@name='is_seo_optimized']" position="before"> <xpath expr="//field[@name='is_seo_optimized']" position="before">
<button name="action_post_debug_view" type="object" title="Settings" icon="fa-bug fa-lg" groups="base.group_no_one"/> <button name="action_post_debug_view" type="object" title="Settings" icon="fa-bug fa-lg" groups="base.group_no_one"/>
<button name="action_post_code_view" type="object" title="Source Code" icon="fa-code fa-lg" groups="base.group_no_one"/>
</xpath> </xpath>
</field> </field>
</record> </record>
@@ -47,7 +46,7 @@
<xpath expr="//page[@name='seo']" position="after"> <xpath expr="//page[@name='seo']" position="after">
<page name="post_content" string="Content"> <page name="post_content" string="Content">
<field name="content" widget="html" nolabel="1" class="oe-bordered-editor" <field name="content" widget="html" nolabel="1" class="oe-bordered-editor"
options="{'style-inline': true, 'codeview': true, 'dynamic_placeholder': true}"/> options="{'sandboxedPreview': true, 'codeview': true, 'dynamic_placeholder': true}"/>
</page> </page>
</xpath> </xpath>
<xpath expr="//field[@name='visits']" position="attributes"> <xpath expr="//field[@name='visits']" position="attributes">

View File

@@ -14,6 +14,9 @@
<xpath expr="//field[@name='is_in_menu']" position="attributes"> <xpath expr="//field[@name='is_in_menu']" position="attributes">
<attribute name="optional">show</attribute> <attribute name="optional">show</attribute>
</xpath> </xpath>
<xpath expr="//field[@name='is_published']" position="before">
<field name="is_force_all" widget="boolean_toggle" optional="show"/>
</xpath>
<xpath expr="//field[@name='website_url']" position="after"> <xpath expr="//field[@name='website_url']" position="after">
<field name="seo_name" invisible="1"/> <field name="seo_name" invisible="1"/>
<field name="website_meta_keywords" optional="show"/> <field name="website_meta_keywords" optional="show"/>
@@ -22,11 +25,36 @@
</xpath> </xpath>
<xpath expr="//field[@name='is_seo_optimized']" position="before"> <xpath expr="//field[@name='is_seo_optimized']" position="before">
<button name="action_page_debug_view" position="move"/> <button name="action_page_debug_view" position="move"/>
<button name="action_page_code_view" type="object" title="Source Code" icon="fa-code fa-lg" groups="base.group_no_one"/> <button name="action_page_form_view" type="object" title="Properties Set" icon="fa-file-text-o fa-lg" groups="base.group_no_one"/>
</xpath> </xpath>
</field> </field>
</record> </record>
<!-- form--> <!-- form-->
<!-- 编辑时的属性-->
<record id="app_website_page_properties_view_form" model="ir.ui.view">
<field name="name">app.website.page.properties.form.view</field>
<field name="model">website.page</field>
<field name="mode">extension</field>
<field name="inherit_id" ref="website.website_page_properties_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='is_published']" position="before">
<field name="is_force_all" widget="boolean_toggle"/>
</xpath>
</field>
</record>
<!-- 编辑form各主属性-->
<record id="app_website_pages_form_view" model="ir.ui.view">
<field name="name">app.website.page.form</field>
<field name="model">website.page</field>
<field name="mode">extension</field>
<field name="inherit_id" ref="website.website_pages_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='is_published']" position="before">
<field name="is_force_all" widget="boolean_toggle"/>
</xpath>
</field>
</record>
<!-- 可视编辑器-->
<record id="app_view_view_form_extend_debug" model="ir.ui.view"> <record id="app_view_view_form_extend_debug" model="ir.ui.view">
<field name="name">app.website.page.form</field> <field name="name">app.website.page.form</field>
<field name="model">website.page</field> <field name="model">website.page</field>
@@ -35,6 +63,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='arch_base']" position="attributes"> <xpath expr="//field[@name='arch_base']" position="attributes">
<attribute name="widget">html</attribute> <attribute name="widget">html</attribute>
<attribute name="options">{'sandboxedPreview': true}</attribute>
</xpath> </xpath>
</field> </field>
</record> </record>

View File

@@ -14,6 +14,9 @@
<xpath expr="//field[@name='display_name']" position="before"> <xpath expr="//field[@name='display_name']" position="before">
<field name="name" optional="show"/> <field name="name" optional="show"/>
</xpath> </xpath>
<xpath expr="//field[@name='website_id']" position="before">
<field name="image_1920" widget="image" class="oe_avatar" options="{'preview_image': 'image_128','size': [40, 40]}"/>
</xpath>
</field> </field>
</record> </record>
</odoo> </odoo>

View File

@@ -9,7 +9,6 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='is_seo_optimized']" position="before"> <xpath expr="//field[@name='is_seo_optimized']" position="before">
<button name="action_product_debug_view" type="object" title="Content Set" icon="fa-bug fa-lg" groups="base.group_no_one"/> <button name="action_product_debug_view" type="object" title="Content Set" icon="fa-bug fa-lg" groups="base.group_no_one"/>
<button name="action_product_code_view" type="object" title="Source Code" icon="fa-code fa-lg" groups="base.group_no_one"/>
</xpath> </xpath>
<xpath expr="//field[@name='website_url']" position="attributes"> <xpath expr="//field[@name='website_url']" position="attributes">
<attribute name="optional">hide</attribute> <attribute name="optional">hide</attribute>
@@ -55,7 +54,7 @@
</xpath> </xpath>
</field> </field>
</record> </record>
<!--可以停用此form-->
<record id="app_product_template_form_view_code" model="ir.ui.view"> <record id="app_product_template_form_view_code" model="ir.ui.view">
<field name="name">app.product.template.website.code</field> <field name="name">app.product.template.website.code</field>
<field name="model">product.template</field> <field name="model">product.template</field>
@@ -113,6 +112,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='website_description']" position="attributes"> <xpath expr="//field[@name='website_description']" position="attributes">
<attribute name="widget">html</attribute> <attribute name="widget">html</attribute>
<attribute name="options">{'sandboxedPreview': true}</attribute>
</xpath> </xpath>
</field> </field>
</record> </record>