From d7934f210c44e6635260dbbb57e4a6e4143b8316 Mon Sep 17 00:00:00 2001 From: Ivan Office Date: Fri, 1 Sep 2023 02:42:59 +0800 Subject: [PATCH] add crm superbar --- app_crm_superbar/__init__.py | 4 + app_crm_superbar/__manifest__.py | 86 +++ app_crm_superbar/hooks.py | 32 ++ app_crm_superbar/i18n/zh_CN.po | 14 + app_crm_superbar/models/__init__.py | 1 + app_crm_superbar/report/__init__.py | 2 + .../static/description/banner.png | Bin 0 -> 81187 bytes app_crm_superbar/static/description/icon.png | Bin 0 -> 74144 bytes .../static/description/index.html | 526 ++++++++++++++++++ app_crm_superbar/views/crm_lead_views.xml | 52 ++ 10 files changed, 717 insertions(+) create mode 100644 app_crm_superbar/__init__.py create mode 100644 app_crm_superbar/__manifest__.py create mode 100644 app_crm_superbar/hooks.py create mode 100644 app_crm_superbar/i18n/zh_CN.po create mode 100644 app_crm_superbar/models/__init__.py create mode 100644 app_crm_superbar/report/__init__.py create mode 100644 app_crm_superbar/static/description/banner.png create mode 100644 app_crm_superbar/static/description/icon.png create mode 100644 app_crm_superbar/static/description/index.html create mode 100644 app_crm_superbar/views/crm_lead_views.xml diff --git a/app_crm_superbar/__init__.py b/app_crm_superbar/__init__.py new file mode 100644 index 00000000..86764a0e --- /dev/null +++ b/app_crm_superbar/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from .hooks import post_init_hook \ No newline at end of file diff --git a/app_crm_superbar/__manifest__.py b/app_crm_superbar/__manifest__.py new file mode 100644 index 00000000..2287ee80 --- /dev/null +++ b/app_crm_superbar/__manifest__.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- + +# Created on 2018-08-15 +# author: 欧度智能,https://www.odooai.cn +# email: 300883@qq.com +# resource of odooai +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +# Odoo16在线用户手册(长期更新) +# https://www.odooai.cn/documentation/16.0/zh_CN/index.html + +# Odoo16在线开发者手册(长期更新) +# https://www.odooai.cn/documentation/16.0/zh_CN/developer.html + +# Odoo13在线用户手册(长期更新) +# https://www.odooai.cn/documentation/user/13.0/zh_CN/index.html + +# Odoo13在线开发者手册(长期更新) +# https://www.odooai.cn/documentation/13.0/index.html + +# 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': "Crm Advance search, browse by stage and team", + 'version': '16.23.09.01', + 'author': 'odooai.cn', + 'category': 'Base', + 'website': 'https://www.odooai.cn', + 'license': 'LGPL-3', + 'sequence': 10, + 'summary': """ + CRM Superbar. + odoo Seo Advance Search, Advance Filter for Date search. date range search. Datetime search. + M2M, selection, boolean, number search. Quick search in header. + Support list, kanban, pivot, graph, search more view. + """, + 'description': """ + Crm free app for app_web_superbar. + Advance quick search for various field in all odoo app. Support list, kanban, pivot, graph, search more views. + Search with Hierarchy Parent Children Tree. seo search. + odoo高级搜索,日期搜索,时间搜索,字符串搜索,数字搜索,下拉搜索. 列表快速搜索。 + 超级方便的查询,树状视图导航。可用在任何模块中。 + 1. Quick Advance Search and navigator for all app data. 20+ free odoo app search in box. + 2. Quick search in tree list header. Date range, Datetime, selection, number supported. + 3. Advance search sidebar for many2one, many2many field. m2o search, m2m search for multi select. + 4. Advance sidebar for date range search, datetime search, boolean search, selection search, number search. + 5. Search sidebar for list, kanban.Add more pivot, graph views than origin odoo. + 6. Support navigate in search more. Quick filter and search for m2o or m2m field. + 7. Easy customize for any app. any module. Use extra param for searchpanel of odoo. Para: view_types, class, name_field, icon, groups, filter_domain + 8. Advance search in box: Product, CRM, Sales, Purchase, MRP, Stock, Accounting, HR, Project, Etc. + Extra param for searchpanel. view_types, class, name_field, icon, groups, filter_domain. + """, + 'price': 0.00, + 'currency': 'EUR', + 'depends': [ + 'crm', + 'utm', + ], + 'images': ['static/description/crm1.jpg'], + 'data': [ + 'views/crm_lead_views.xml', + ], + 'demo': [ + ], + 'test': [ + ], + 'css': [ + ], + 'qweb': [ + 'static/src/xml/*.xml', + ], + 'js': [ + ], + 'post_load': None, + 'post_init_hook': 'post_init_hook', + 'installable': True, + 'application': True, + 'auto_install': False, +} diff --git a/app_crm_superbar/hooks.py b/app_crm_superbar/hooks.py new file mode 100644 index 00000000..4639ca91 --- /dev/null +++ b/app_crm_superbar/hooks.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +# Created on 2018-10-12 +# author: 欧度智能,https://www.odooai.cn +# email: 300883@qq.com +# resource of odooai +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +# Odoo16在线用户手册(长期更新) +# https://www.odooai.cn/documentation/16.0/zh_CN/index.html + +# Odoo16在线开发者手册(长期更新) +# https://www.odooai.cn/documentation/16.0/zh_CN/developer.html + +# Odoo13在线用户手册(长期更新) +# https://www.odooai.cn/documentation/user/13.0/zh_CN/index.html + +# Odoo13在线开发者手册(长期更新) +# https://www.odooai.cn/documentation/13.0/index.html + +# 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: + +def post_init_hook(cr, pool): + pass + # cr.execute("") diff --git a/app_crm_superbar/i18n/zh_CN.po b/app_crm_superbar/i18n/zh_CN.po new file mode 100644 index 00000000..f1e36e3e --- /dev/null +++ b/app_crm_superbar/i18n/zh_CN.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-08 14:28+0000\n" +"PO-Revision-Date: 2018-01-08 14:28+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" diff --git a/app_crm_superbar/models/__init__.py b/app_crm_superbar/models/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/app_crm_superbar/models/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/app_crm_superbar/report/__init__.py b/app_crm_superbar/report/__init__.py new file mode 100644 index 00000000..633f8661 --- /dev/null +++ b/app_crm_superbar/report/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- + diff --git a/app_crm_superbar/static/description/banner.png b/app_crm_superbar/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..9e39b58449cac83a4efa9c2e8f98064006dc293e GIT binary patch literal 81187 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