From acac5e723f358d5273f48c8c984d8c43e877bb57 Mon Sep 17 00:00:00 2001 From: Julien Schwanen Date: Fri, 19 Jul 2024 12:42:04 +0200 Subject: [PATCH] [IMP] *: add knowledge tour to redirect to knowledge article Added the knowledge tour to all industry modules so when a DB is started a tour pointing to the knowledge app is directly launched. To avoid the maintenance lines of code for these tours, these files are added in the cloc_exclude of the manifest, leading to the automatic creation of ir_model_data entries to exclude the cloc. This change is related to this PR: odoo/odoo@a47de680de14 In all the modules, the message related to the onboarding is improved. task-4056239 --- agriculture_shop/__manifest__.py | 9 +++ agriculture_shop/data/knowledge_article.xml | 24 ++++---- .../data/knowledge_article_favorite.xml | 2 +- agriculture_shop/data/mail_message.xml | 9 ++- agriculture_shop/static/src/js/my_tour.js | 17 ++++++ architects/__manifest__.py | 9 +++ architects/data/knowledge_article.xml | 27 +++++---- .../data/knowledge_article_favorite.xml | 2 +- architects/data/mail_message.xml | 9 ++- architects/static/src/js/my_tour.js | 17 ++++++ art_craft/__manifest__.py | 9 +++ art_craft/data/knowledge_article.xml | 24 ++++---- art_craft/data/knowledge_article_favorite.xml | 2 +- art_craft/data/mail_message.xml | 9 ++- art_craft/static/src/js/my_tour.js | 17 ++++++ automobile/__manifest__.py | 9 +++ automobile/data/knowledge_article.xml | 24 ++++---- .../data/knowledge_article_favorite.xml | 2 +- automobile/data/mail_message.xml | 9 ++- automobile/static/src/js/my_tour.js | 17 ++++++ bar_industry/__manifest__.py | 10 +++- bar_industry/data/mail_message.xml | 8 +-- bar_industry/static/src/js/my_tour.js | 17 ++++++ bike_leasing/__manifest__.py | 8 +++ bike_leasing/data/mail_message.xml | 7 +-- bike_leasing/static/src/js/my_tour.js | 17 ++++++ billboard_rental/__manifest__.py | 8 +++ billboard_rental/data/mail_message.xml | 9 ++- billboard_rental/static/src/js/my_tour.js | 17 ++++++ cake_shop/__manifest__.py | 9 +++ cake_shop/data/knowledge_article.xml | 26 ++++---- cake_shop/data/knowledge_article_favorite.xml | 2 +- cake_shop/data/mail_message.xml | 9 ++- cake_shop/static/src/js/my_tour.js | 17 ++++++ certification_organism/__manifest__.py | 9 +++ .../data/ir_attachment_post.xml | 60 +++++++++---------- .../data/knowledge_article.xml | 21 ++++--- .../data/knowledge_article_favorite.xml | 2 +- certification_organism/data/mail_message.xml | 9 ++- .../static/src/js/my_tour.js | 17 ++++++ clothing_boutique/__manifest__.py | 9 +++ clothing_boutique/data/knowledge_article.xml | 26 ++++---- .../data/knowledge_article_favorite.xml | 2 +- clothing_boutique/data/mail_message.xml | 9 ++- clothing_boutique/static/src/js/my_tour.js | 17 ++++++ coal_petroleum/__manifest__.py | 9 +++ coal_petroleum/data/knowledge_article.xml | 26 ++++---- .../data/knowledge_article_favorite.xml | 2 +- coal_petroleum/data/mail_message.xml | 9 ++- coal_petroleum/static/src/js/my_tour.js | 17 ++++++ condominium/__manifest__.py | 9 +++ condominium/data/knowledge_article.xml | 27 +++++---- .../data/knowledge_article_favorite.xml | 2 +- condominium/data/mail_message.xml | 9 ++- condominium/static/src/js/my_tour.js | 17 ++++++ construction/__manifest__.py | 9 +++ construction/data/knowledge_article.xml | 29 +++++---- .../data/knowledge_article_favorite.xml | 2 +- construction/data/mail_message.xml | 9 ++- construction/static/src/js/my_tour.js | 17 ++++++ corporate_gifts/__manifest__.py | 9 +++ corporate_gifts/data/knowledge_article.xml | 26 ++++---- .../data/knowledge_article_favorite.xml | 2 +- corporate_gifts/data/mail_message.xml | 10 ++-- corporate_gifts/static/src/js/my_tour.js | 17 ++++++ electronic_store/__manifest__.py | 9 +++ electronic_store/data/knowledge_article.xml | 28 +++++---- electronic_store/data/mail_message.xml | 7 +-- electronic_store/static/src/js/my_tour.js | 17 ++++++ eyewear_shop/__manifest__.py | 9 +++ eyewear_shop/data/knowledge_article.xml | 26 ++++---- .../data/knowledge_article_favorite.xml | 2 +- eyewear_shop/data/mail_message.xml | 9 ++- eyewear_shop/static/src/js/my_tour.js | 17 ++++++ fmcg_store/__manifest__.py | 9 +++ fmcg_store/data/knowledge_article.xml | 22 ++++--- .../data/knowledge_article_favorite.xml | 2 +- fmcg_store/data/mail_message.xml | 9 ++- fmcg_store/static/src/js/my_tour.js | 17 ++++++ furniture_store/__manifest__.py | 9 +++ furniture_store/data/knowledge_article.xml | 29 +++++---- .../data/knowledge_article_favorite.xml | 2 +- furniture_store/data/mail_message.xml | 9 ++- furniture_store/static/src/js/my_tour.js | 17 ++++++ gardening/__manifest__.py | 9 +++ gardening/data/mail_message.xml | 7 +-- gardening/static/src/js/my_tour.js | 17 ++++++ hair_salon/__manifest__.py | 9 +++ hair_salon/data/knowledge_article.xml | 24 ++++---- .../data/knowledge_article_favorite.xml | 2 +- hair_salon/data/mail_message.xml | 9 ++- hair_salon/static/src/js/my_tour.js | 17 ++++++ hardware_shop/__manifest__.py | 9 +++ hardware_shop/data/knowledge_article.xml | 29 +++++---- .../data/knowledge_article_favorite.xml | 2 +- hardware_shop/data/mail_message.xml | 9 ++- hardware_shop/static/src/js/my_tour.js | 17 ++++++ headhunter/__manifest__.py | 9 +++ headhunter/data/knowledge_article.xml | 22 ++++--- .../data/knowledge_article_favorite.xml | 2 +- headhunter/data/mail_message.xml | 9 ++- headhunter/static/src/js/my_tour.js | 17 ++++++ industry_lawyer/__manifest__.py | 9 +++ industry_lawyer/data/knowledge_article.xml | 20 ++++--- .../data/knowledge_article_favorite.xml | 2 +- industry_lawyer/data/mail_message.xml | 9 ++- industry_lawyer/static/src/js/my_tour.js | 17 ++++++ industry_real_estate/__manifest__.py | 9 +++ .../data/knowledge_article.xml | 24 ++++---- .../data/knowledge_article_favorite.xml | 2 +- industry_real_estate/data/mail_message.xml | 9 ++- industry_real_estate/static/src/js/my_tour.js | 17 ++++++ industry_restaurant/__manifest__.py | 8 +++ industry_restaurant/data/mail_message.xml | 9 ++- industry_restaurant/static/src/js/my_tour.js | 17 ++++++ it_hardware/__manifest__.py | 9 +++ it_hardware/data/knowledge_article.xml | 24 ++++---- it_hardware/data/mail_message.xml | 7 +-- it_hardware/static/src/js/my_tour.js | 17 ++++++ micro_brewery/__manifest__.py | 8 +++ micro_brewery/data/mail_message.xml | 9 ++- micro_brewery/static/src/js/my_tour.js | 17 ++++++ non_profit_organization/__manifest__.py | 9 +++ .../data/knowledge_article.xml | 20 ++++--- .../data/knowledge_article_attachments.xml | 10 ++-- .../data/knowledge_article_favorite.xml | 2 +- non_profit_organization/data/mail_message.xml | 9 ++- .../static/src/js/my_tour.js | 17 ++++++ pharmacy_retail/__manifest__.py | 9 +++ pharmacy_retail/data/knowledge_article.xml | 28 +++++---- .../data/knowledge_article_favorite.xml | 2 +- pharmacy_retail/data/mail_message.xml | 9 ++- pharmacy_retail/static/src/js/my_tour.js | 17 ++++++ photography/__manifest__.py | 9 +++ photography/data/knowledge_article.xml | 20 ++++--- .../data/knowledge_article_favorite.xml | 2 +- photography/data/mail_message.xml | 9 ++- photography/static/src/js/my_tour.js | 17 ++++++ software_reseller/__manifest__.py | 9 +++ software_reseller/data/knowledge_article.xml | 22 ++++--- .../data/knowledge_article_favorite.xml | 2 +- software_reseller/data/mail_message.xml | 9 ++- software_reseller/static/src/js/my_tour.js | 17 ++++++ solar_installation/__manifest__.py | 9 +++ solar_installation/data/knowledge_article.xml | 24 ++++---- .../data/knowledge_article_favorite.xml | 2 +- solar_installation/data/mail_message.xml | 9 ++- solar_installation/static/src/js/my_tour.js | 17 ++++++ sports_club/__manifest__.py | 9 +++ sports_club/data/knowledge_article.xml | 28 +++++---- .../data/knowledge_article_favorite.xml | 2 +- sports_club/data/mail_message.xml | 9 ++- sports_club/static/src/js/my_tour.js | 17 ++++++ surveyor/__manifest__.py | 9 +++ surveyor/data/knowledge_article.xml | 31 ++++++---- surveyor/data/knowledge_article_favorite.xml | 2 +- surveyor/data/mail_message.xml | 9 ++- surveyor/static/src/js/my_tour.js | 17 ++++++ .../tests/test_industry_requirements.py | 18 +++++- .../tests/test_mandatory_files.py | 1 + tests/test_generic/tests/test_manifest.py | 3 + tests/test_generic/tests/test_xml.py | 2 +- wellness_practitioner/__manifest__.py | 10 +++- wellness_practitioner/data/mail_message.xml | 7 +-- .../static/src/js/my_tour.js | 17 ++++++ 165 files changed, 1532 insertions(+), 528 deletions(-) create mode 100644 agriculture_shop/static/src/js/my_tour.js create mode 100644 architects/static/src/js/my_tour.js create mode 100644 art_craft/static/src/js/my_tour.js create mode 100644 automobile/static/src/js/my_tour.js create mode 100644 bar_industry/static/src/js/my_tour.js create mode 100644 bike_leasing/static/src/js/my_tour.js create mode 100644 billboard_rental/static/src/js/my_tour.js create mode 100644 cake_shop/static/src/js/my_tour.js create mode 100644 certification_organism/static/src/js/my_tour.js create mode 100644 clothing_boutique/static/src/js/my_tour.js create mode 100644 coal_petroleum/static/src/js/my_tour.js create mode 100644 condominium/static/src/js/my_tour.js create mode 100644 construction/static/src/js/my_tour.js create mode 100644 corporate_gifts/static/src/js/my_tour.js create mode 100644 electronic_store/static/src/js/my_tour.js create mode 100644 eyewear_shop/static/src/js/my_tour.js create mode 100644 fmcg_store/static/src/js/my_tour.js create mode 100644 furniture_store/static/src/js/my_tour.js create mode 100644 gardening/static/src/js/my_tour.js create mode 100644 hair_salon/static/src/js/my_tour.js create mode 100644 hardware_shop/static/src/js/my_tour.js create mode 100644 headhunter/static/src/js/my_tour.js create mode 100644 industry_lawyer/static/src/js/my_tour.js create mode 100644 industry_real_estate/static/src/js/my_tour.js create mode 100644 industry_restaurant/static/src/js/my_tour.js create mode 100644 it_hardware/static/src/js/my_tour.js create mode 100644 micro_brewery/static/src/js/my_tour.js create mode 100644 non_profit_organization/static/src/js/my_tour.js create mode 100644 pharmacy_retail/static/src/js/my_tour.js create mode 100644 photography/static/src/js/my_tour.js create mode 100644 software_reseller/static/src/js/my_tour.js create mode 100644 solar_installation/static/src/js/my_tour.js create mode 100644 sports_club/static/src/js/my_tour.js create mode 100644 surveyor/static/src/js/my_tour.js create mode 100644 wellness_practitioner/static/src/js/my_tour.js diff --git a/agriculture_shop/__manifest__.py b/agriculture_shop/__manifest__.py index 51a75ce5a..6c31c98cf 100644 --- a/agriculture_shop/__manifest__.py +++ b/agriculture_shop/__manifest__.py @@ -66,6 +66,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'agriculture_shop/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/agriculture_shop/data/knowledge_article.xml b/agriculture_shop/data/knowledge_article.xml index 0f9ca6388..dfb7e35ee 100644 --- a/agriculture_shop/data/knowledge_article.xml +++ b/agriculture_shop/data/knowledge_article.xml @@ -1,14 +1,7 @@ - - Agriculture Store - write - 🍀 - - - - - + Agricultural Retail

@@ -87,7 +80,18 @@
  • Sales person shares quotation and confirm the order.
  • Make Invoice.
  • - ]]> + ]]> + + + + Agriculture Store + write + 🍀 + + + + +
    diff --git a/agriculture_shop/data/knowledge_article_favorite.xml b/agriculture_shop/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/agriculture_shop/data/knowledge_article_favorite.xml +++ b/agriculture_shop/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/agriculture_shop/data/mail_message.xml b/agriculture_shop/data/mail_message.xml index fcabe5977..2e1ef4cf2 100644 --- a/agriculture_shop/data/mail_message.xml +++ b/agriculture_shop/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Agriculture Shop + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('agriculture_shop.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/agriculture_shop/static/src/js/my_tour.js b/agriculture_shop/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/agriculture_shop/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/architects/__manifest__.py b/architects/__manifest__.py index 415f02dd4..b730b18bb 100644 --- a/architects/__manifest__.py +++ b/architects/__manifest__.py @@ -59,6 +59,15 @@ 'demo/hr_expense_action.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'architects/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/architects/data/knowledge_article.xml b/architects/data/knowledge_article.xml index 297542744..d40394667 100644 --- a/architects/data/knowledge_article.xml +++ b/architects/data/knowledge_article.xml @@ -1,16 +1,7 @@ - - Architecture Firm - 2 - workspace - write - - - 68.59 - 📏 - - + Architect Industry

    @@ -70,7 +61,19 @@

    - ]]> + ]]> + + + Architecture Firm + 2 + workspace + write + + + 68.59 + 📏 + +
    diff --git a/architects/data/knowledge_article_favorite.xml b/architects/data/knowledge_article_favorite.xml index 6584b3d40..3d5b6471e 100644 --- a/architects/data/knowledge_article_favorite.xml +++ b/architects/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/architects/data/mail_message.xml b/architects/data/mail_message.xml index 0ec6cb47b..698f9b8c1 100644 --- a/architects/data/mail_message.xml +++ b/architects/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Architects + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('architects.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/architects/static/src/js/my_tour.js b/architects/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/architects/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/art_craft/__manifest__.py b/art_craft/__manifest__.py index 64a47bdd1..5a73d16f3 100644 --- a/art_craft/__manifest__.py +++ b/art_craft/__manifest__.py @@ -75,6 +75,15 @@ 'demo/website_theme_apply.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'art_craft/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/art_craft/data/knowledge_article.xml b/art_craft/data/knowledge_article.xml index b35432093..51677accf 100644 --- a/art_craft/data/knowledge_article.xml +++ b/art_craft/data/knowledge_article.xml @@ -1,15 +1,6 @@ - - Arts & Crafts Store - 🖌️ - workspace - - - write - - 41.40999999999994 - + + + + Arts & Crafts Store + 🖌️ + workspace + + + write + + 41.40999999999994 + + diff --git a/art_craft/data/knowledge_article_favorite.xml b/art_craft/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/art_craft/data/knowledge_article_favorite.xml +++ b/art_craft/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/art_craft/data/mail_message.xml b/art_craft/data/mail_message.xml index f4bc15316..a7d470acd 100644 --- a/art_craft/data/mail_message.xml +++ b/art_craft/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Art Craft + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('art_craft.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/art_craft/static/src/js/my_tour.js b/art_craft/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/art_craft/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/automobile/__manifest__.py b/automobile/__manifest__.py index 06a61d15a..b53244877 100644 --- a/automobile/__manifest__.py +++ b/automobile/__manifest__.py @@ -60,6 +60,15 @@ 'demo/sale_order_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'automobile/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/automobile/data/knowledge_article.xml b/automobile/data/knowledge_article.xml index ddd204d5f..2154a0bed 100644 --- a/automobile/data/knowledge_article.xml +++ b/automobile/data/knowledge_article.xml @@ -1,15 +1,7 @@ - - Automobile Spare Parts - private - - 🛠️ - - write - - - + Automobile Spare parts Trading


    @@ -70,6 +62,18 @@

    ]]> + + + + Automobile Spare Parts + private + + 🛠️ + + write + + +
    diff --git a/automobile/data/knowledge_article_favorite.xml b/automobile/data/knowledge_article_favorite.xml index b7c6a9bbc..3d5b6471e 100644 --- a/automobile/data/knowledge_article_favorite.xml +++ b/automobile/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/automobile/data/mail_message.xml b/automobile/data/mail_message.xml index 94b9e8d0c..01e177eca 100644 --- a/automobile/data/mail_message.xml +++ b/automobile/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Automobile + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('automobile.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/automobile/static/src/js/my_tour.js b/automobile/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/automobile/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/bar_industry/__manifest__.py b/bar_industry/__manifest__.py index 69d0d1679..f83e0a76e 100644 --- a/bar_industry/__manifest__.py +++ b/bar_industry/__manifest__.py @@ -1,5 +1,5 @@ { - 'name': 'Bar Industry', + 'name': 'Bar & Pub', 'version': '1.0', 'category': 'Hospitality', 'description': """ @@ -49,6 +49,14 @@ 'demo/planning_slot.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'bar_industry/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/bar_industry/data/mail_message.xml b/bar_industry/data/mail_message.xml index 927c77a5f..97d36e595 100644 --- a/bar_industry/data/mail_message.xml +++ b/bar_industry/data/mail_message.xml @@ -7,9 +7,9 @@ 🚀 Get started with Odoo Bar - + diff --git a/bar_industry/static/src/js/my_tour.js b/bar_industry/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/bar_industry/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/bike_leasing/__manifest__.py b/bike_leasing/__manifest__.py index f38d25f03..b2f6af461 100644 --- a/bike_leasing/__manifest__.py +++ b/bike_leasing/__manifest__.py @@ -65,6 +65,14 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'bike_leasing/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/bike_leasing/data/mail_message.xml b/bike_leasing/data/mail_message.xml index 1d4e4c0b5..be4d818a7 100644 --- a/bike_leasing/data/mail_message.xml +++ b/bike_leasing/data/mail_message.xml @@ -8,9 +8,8 @@ 🚀 Get started with Odoo Bike Leasing + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('bike_leasing.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/bike_leasing/static/src/js/my_tour.js b/bike_leasing/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/bike_leasing/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/billboard_rental/__manifest__.py b/billboard_rental/__manifest__.py index 923b55fe1..4e9e5b647 100644 --- a/billboard_rental/__manifest__.py +++ b/billboard_rental/__manifest__.py @@ -55,6 +55,14 @@ 'demo/website_theme_apply.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'billboard_rental/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/billboard_rental/data/mail_message.xml b/billboard_rental/data/mail_message.xml index 99768ae81..bda9c4190 100644 --- a/billboard_rental/data/mail_message.xml +++ b/billboard_rental/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Billboard Rental + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('billboard_rental.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/billboard_rental/static/src/js/my_tour.js b/billboard_rental/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/billboard_rental/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/cake_shop/__manifest__.py b/cake_shop/__manifest__.py index 30eb0b935..15efb3385 100644 --- a/cake_shop/__manifest__.py +++ b/cake_shop/__manifest__.py @@ -42,6 +42,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'cake_shop/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/cake_shop/data/knowledge_article.xml b/cake_shop/data/knowledge_article.xml index 9b9ddba70..151d0c7e3 100644 --- a/cake_shop/data/knowledge_article.xml +++ b/cake_shop/data/knowledge_article.xml @@ -1,15 +1,7 @@ - - Cake Store - write - private - - 🎂 - - - - + Bakery Shop  

    @@ -88,6 +80,18 @@



    - ]]>
    + ]]> + + + + Cake Store + write + private + + 🎂 + + + +
    diff --git a/cake_shop/data/knowledge_article_favorite.xml b/cake_shop/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/cake_shop/data/knowledge_article_favorite.xml +++ b/cake_shop/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/cake_shop/data/mail_message.xml b/cake_shop/data/mail_message.xml index 46aad1167..0e9062d6c 100644 --- a/cake_shop/data/mail_message.xml +++ b/cake_shop/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Cake Shop + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('cake_shop.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/cake_shop/static/src/js/my_tour.js b/cake_shop/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/cake_shop/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/certification_organism/__manifest__.py b/certification_organism/__manifest__.py index 893d0c125..045170963 100644 --- a/certification_organism/__manifest__.py +++ b/certification_organism/__manifest__.py @@ -53,7 +53,16 @@ 'demo/x_control_charging_station.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'certification_organism/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/certification_organism/data/ir_attachment_post.xml b/certification_organism/data/ir_attachment_post.xml index 085bcd048..c4bd491ab 100644 --- a/certification_organism/data/ir_attachment_post.xml +++ b/certification_organism/data/ir_attachment_post.xml @@ -2,14 +2,14 @@ 20230824140623-ce4327.png - + knowledge.article 20230824142855-26332a.png - + knowledge.article @@ -17,196 +17,196 @@ picture3.png - + knowledge.article picture4.png - + knowledge.article picture5.png - + knowledge.article picture6.png - + knowledge.article picture7.png - + knowledge.article picture8.png - + knowledge.article picture8.png - + knowledge.article picture9.png - + knowledge.article picture10.png - + knowledge.article picture11.png - + knowledge.article picture12.png - + knowledge.article picture13.png - + knowledge.article picture14.png - + knowledge.article picture15.png - + knowledge.article picture16.png - + knowledge.article picture17.png - + knowledge.article picture18.png - + knowledge.article picture19.png - + knowledge.article picture20.png - + knowledge.article picture21.png - + knowledge.article picture22.png - + knowledge.article picture23.png - + knowledge.article picture24.png - + knowledge.article picture26.png - + knowledge.article picture25.png - + knowledge.article picture27.png - + knowledge.article picture28.png - + knowledge.article picture29.png - + knowledge.article diff --git a/certification_organism/data/knowledge_article.xml b/certification_organism/data/knowledge_article.xml index d87998a76..7cc37995d 100644 --- a/certification_organism/data/knowledge_article.xml +++ b/certification_organism/data/knowledge_article.xml @@ -1,13 +1,6 @@ - - Audit & Certification - 2 - workspace - write - - - + + + + Audit & Certification + 2 + workspace + write + + + + + diff --git a/certification_organism/data/knowledge_article_favorite.xml b/certification_organism/data/knowledge_article_favorite.xml index 6584b3d40..3d5b6471e 100644 --- a/certification_organism/data/knowledge_article_favorite.xml +++ b/certification_organism/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/certification_organism/data/mail_message.xml b/certification_organism/data/mail_message.xml index 9aa7c0fd3..281096d85 100644 --- a/certification_organism/data/mail_message.xml +++ b/certification_organism/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Certification Organism + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('certification_organism.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/certification_organism/static/src/js/my_tour.js b/certification_organism/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/certification_organism/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/clothing_boutique/__manifest__.py b/clothing_boutique/__manifest__.py index 4117763a2..546146f99 100644 --- a/clothing_boutique/__manifest__.py +++ b/clothing_boutique/__manifest__.py @@ -56,6 +56,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'clothing_boutique/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/clothing_boutique/data/knowledge_article.xml b/clothing_boutique/data/knowledge_article.xml index 447909823..071b09e58 100644 --- a/clothing_boutique/data/knowledge_article.xml +++ b/clothing_boutique/data/knowledge_article.xml @@ -1,15 +1,7 @@ - - Clothing Store - write - 37.999996948242185 - 👗 - private - - - - + The Glam Boutique @@ -138,7 +130,19 @@

    Here promotion program has been used  to define the discount on a particular product category.
    - ]]>
    + ]]> + + + + Clothing Store + write + 37.999996948242185 + 👗 + private + + + + diff --git a/clothing_boutique/data/knowledge_article_favorite.xml b/clothing_boutique/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/clothing_boutique/data/knowledge_article_favorite.xml +++ b/clothing_boutique/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/clothing_boutique/data/mail_message.xml b/clothing_boutique/data/mail_message.xml index 054f7762a..c35485ee5 100644 --- a/clothing_boutique/data/mail_message.xml +++ b/clothing_boutique/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Clothing Boutique + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('clothing_boutique.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/>
    diff --git a/clothing_boutique/static/src/js/my_tour.js b/clothing_boutique/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/clothing_boutique/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/coal_petroleum/__manifest__.py b/coal_petroleum/__manifest__.py index 96a4428de..4bf81d32d 100644 --- a/coal_petroleum/__manifest__.py +++ b/coal_petroleum/__manifest__.py @@ -59,6 +59,15 @@ 'demo/sale_order_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'coal_petroleum/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/coal_petroleum/data/knowledge_article.xml b/coal_petroleum/data/knowledge_article.xml index ed268a728..11da7e406 100644 --- a/coal_petroleum/data/knowledge_article.xml +++ b/coal_petroleum/data/knowledge_article.xml @@ -1,15 +1,6 @@ - - Fossil Fuel Trading - 1 - workspace - - 🕳️ - - write - - + + + + Fossil Fuel Trading + 1 + workspace + + 🕳️ + + write + + + diff --git a/coal_petroleum/data/knowledge_article_favorite.xml b/coal_petroleum/data/knowledge_article_favorite.xml index 84d98a158..3d5b6471e 100644 --- a/coal_petroleum/data/knowledge_article_favorite.xml +++ b/coal_petroleum/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/coal_petroleum/data/mail_message.xml b/coal_petroleum/data/mail_message.xml index 26258568e..4511a03bd 100644 --- a/coal_petroleum/data/mail_message.xml +++ b/coal_petroleum/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Coal and Petroleum + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('coal_petroleum.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/coal_petroleum/static/src/js/my_tour.js b/coal_petroleum/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/coal_petroleum/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/condominium/__manifest__.py b/condominium/__manifest__.py index b5dfad04f..5bcc256be 100644 --- a/condominium/__manifest__.py +++ b/condominium/__manifest__.py @@ -61,6 +61,15 @@ 'demo/helpdesk_ticket.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'condominium/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/condominium/data/knowledge_article.xml b/condominium/data/knowledge_article.xml index 179251466..020b5cfe2 100644 --- a/condominium/data/knowledge_article.xml +++ b/condominium/data/knowledge_article.xml @@ -1,15 +1,7 @@ - - workspace - Property Owner Association - 16 - - 26.8 - - 🏢 - write - + Condominium

    This industry is tailor-made for condominium businesses that aim at managing co-ownership properties. Such a business is complex because it implies managing all the aspects of the properties while fairly splitting the charges. Moreover, the business is legally regulated in lots of countries under different names: condo in the US, co-ownership in Canada, joint domination in the UK, property syndicate in France, syndic in Belgium, etc. @@ -171,7 +163,20 @@ Use the power of formulas to quickly count the votes. See an example of spreadsheet in Documents

    🎓 Spreadsheet

    - ]]> + ]]> + + + + workspace + Property Owner Association + 16 + + 26.8 + + 🏢 + write + +
    diff --git a/condominium/data/knowledge_article_favorite.xml b/condominium/data/knowledge_article_favorite.xml index d6d27f148..3d5b6471e 100644 --- a/condominium/data/knowledge_article_favorite.xml +++ b/condominium/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/condominium/data/mail_message.xml b/condominium/data/mail_message.xml index 9202af1a0..98d4ed87a 100644 --- a/condominium/data/mail_message.xml +++ b/condominium/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Condominium + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('condominium.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/condominium/static/src/js/my_tour.js b/condominium/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/condominium/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/construction/__manifest__.py b/construction/__manifest__.py index 104e3fd8c..89392514c 100644 --- a/construction/__manifest__.py +++ b/construction/__manifest__.py @@ -62,6 +62,15 @@ 'demo/planning_slot.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'construction/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/construction/data/knowledge_article.xml b/construction/data/knowledge_article.xml index 51f84a8bd..897b18052 100644 --- a/construction/data/knowledge_article.xml +++ b/construction/data/knowledge_article.xml @@ -1,14 +1,7 @@ - - Construction - workspace - write - - - - 👷‍♂️ - + Construction

    This industry is tailor-made for construction businesses that excel in managing construction projects. It encompasses the crucial stages of @@ -497,6 +490,20 @@

    - ]]>
    -
    + ]]> + + + + Construction + workspace + write + + + 81.79 + + 👷‍♂️ + + + +
    diff --git a/construction/data/knowledge_article_favorite.xml b/construction/data/knowledge_article_favorite.xml index 286e85f0a..3d5b6471e 100644 --- a/construction/data/knowledge_article_favorite.xml +++ b/construction/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/construction/data/mail_message.xml b/construction/data/mail_message.xml index 3daee8bd2..ffa16e1f9 100644 --- a/construction/data/mail_message.xml +++ b/construction/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Construction + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('construction.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/construction/static/src/js/my_tour.js b/construction/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/construction/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/corporate_gifts/__manifest__.py b/corporate_gifts/__manifest__.py index ffa43e792..2808ec051 100644 --- a/corporate_gifts/__manifest__.py +++ b/corporate_gifts/__manifest__.py @@ -81,6 +81,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'corporate_gifts/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/corporate_gifts/data/knowledge_article.xml b/corporate_gifts/data/knowledge_article.xml index 4e0315e55..04843173a 100644 --- a/corporate_gifts/data/knowledge_article.xml +++ b/corporate_gifts/data/knowledge_article.xml @@ -1,15 +1,6 @@ - - Corporate Gifts - 1 - workspace - - - write - - 🎁 - + + + + Corporate Gifts + 1 + workspace + + + write + + 🎁 + + - + diff --git a/corporate_gifts/data/knowledge_article_favorite.xml b/corporate_gifts/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/corporate_gifts/data/knowledge_article_favorite.xml +++ b/corporate_gifts/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/corporate_gifts/data/mail_message.xml b/corporate_gifts/data/mail_message.xml index d624dc38a..dbb8d0e9f 100644 --- a/corporate_gifts/data/mail_message.xml +++ b/corporate_gifts/data/mail_message.xml @@ -5,12 +5,10 @@ email - - Knowledge article + 🚀 Get started with Odoo Corporate Gifts + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('corporate_gifts.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/corporate_gifts/static/src/js/my_tour.js b/corporate_gifts/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/corporate_gifts/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/electronic_store/__manifest__.py b/electronic_store/__manifest__.py index 8dfe4a1b4..4424e33f5 100644 --- a/electronic_store/__manifest__.py +++ b/electronic_store/__manifest__.py @@ -85,6 +85,15 @@ 'demo/payment_provider_demo_post.xml' ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'electronic_store/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/electronic_store/data/knowledge_article.xml b/electronic_store/data/knowledge_article.xml index 55f4e1003..a01dfc2fd 100644 --- a/electronic_store/data/knowledge_article.xml +++ b/electronic_store/data/knowledge_article.xml @@ -1,16 +1,7 @@ - - ELECTRONICS STORE - 📺 - write - - 56.010 - - - - - + ELECTRONICS STORE

    This Business setup for Electronics store where they can sell their electronics items like Home Appliances, Kitchen Appliances, etc... @@ -163,7 +154,20 @@

    Use Ship Later option before the checkout for shipping later


    - ]]> + ]]> + + + + ELECTRONICS STORE + 📺 + write + + 56.010 + + + + +
    diff --git a/electronic_store/data/mail_message.xml b/electronic_store/data/mail_message.xml index 6594a8df7..5f18346cb 100644 --- a/electronic_store/data/mail_message.xml +++ b/electronic_store/data/mail_message.xml @@ -8,9 +8,8 @@ Knowledge article + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('electronic_store.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/electronic_store/static/src/js/my_tour.js b/electronic_store/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/electronic_store/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/eyewear_shop/__manifest__.py b/eyewear_shop/__manifest__.py index efdad4663..82da6e90f 100644 --- a/eyewear_shop/__manifest__.py +++ b/eyewear_shop/__manifest__.py @@ -76,6 +76,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'eyewear_shop/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/eyewear_shop/data/knowledge_article.xml b/eyewear_shop/data/knowledge_article.xml index c118caa8d..3f37f4a24 100644 --- a/eyewear_shop/data/knowledge_article.xml +++ b/eyewear_shop/data/knowledge_article.xml @@ -1,15 +1,7 @@ - - Eyewear Store - 😎 - write - - - - 56.40 - - +
    Sunglasses & Lens Retail @@ -125,7 +117,19 @@
    Use Ship Later option before the checkout for shipping later


    - ]]> + ]]> + + + + Eyewear Store + 😎 + write + + + + 56.40 + + diff --git a/eyewear_shop/data/knowledge_article_favorite.xml b/eyewear_shop/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/eyewear_shop/data/knowledge_article_favorite.xml +++ b/eyewear_shop/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/eyewear_shop/data/mail_message.xml b/eyewear_shop/data/mail_message.xml index fe06e85d8..d4fc902c1 100644 --- a/eyewear_shop/data/mail_message.xml +++ b/eyewear_shop/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Eyewear Shop + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('eyewear_shop.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/eyewear_shop/static/src/js/my_tour.js b/eyewear_shop/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/eyewear_shop/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/fmcg_store/__manifest__.py b/fmcg_store/__manifest__.py index 51d38ed17..9ecc1a04b 100644 --- a/fmcg_store/__manifest__.py +++ b/fmcg_store/__manifest__.py @@ -63,6 +63,15 @@ 'demo/pos_confirm.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'fcmg_store/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/fmcg_store/data/knowledge_article.xml b/fmcg_store/data/knowledge_article.xml index 841e3a0f9..7449f4a26 100644 --- a/fmcg_store/data/knowledge_article.xml +++ b/fmcg_store/data/knowledge_article.xml @@ -1,13 +1,7 @@ - - Grocery Shop - write - - - - - + The Grocery Shop @@ -84,7 +78,17 @@
    • If a customer chooses a single bottle from the pack, the barcode of that bottle must be scanned instead.
    - ]]> + ]]> + + + + Grocery Shop + write + + + + +
    diff --git a/fmcg_store/data/knowledge_article_favorite.xml b/fmcg_store/data/knowledge_article_favorite.xml index 9887c7f86..3d5b6471e 100644 --- a/fmcg_store/data/knowledge_article_favorite.xml +++ b/fmcg_store/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/fmcg_store/data/mail_message.xml b/fmcg_store/data/mail_message.xml index 6a2aa52ab..2c855b749 100644 --- a/fmcg_store/data/mail_message.xml +++ b/fmcg_store/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Grocery Store + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('fmcg_store.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/fmcg_store/static/src/js/my_tour.js b/fmcg_store/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/fmcg_store/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/furniture_store/__manifest__.py b/furniture_store/__manifest__.py index cd64a876c..9da6c9d2e 100644 --- a/furniture_store/__manifest__.py +++ b/furniture_store/__manifest__.py @@ -61,6 +61,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'furniture_store/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/furniture_store/data/knowledge_article.xml b/furniture_store/data/knowledge_article.xml index 73cc67f7d..dc4169b15 100644 --- a/furniture_store/data/knowledge_article.xml +++ b/furniture_store/data/knowledge_article.xml @@ -1,16 +1,7 @@ - - Furniture Store - workspace - write - - 75.01 - - 🪓 - - - + Furniture Store

    This setup is for furniture stores selling furniture like chairs, sofas, dining tables, Beds, Cupboards etc. 
    @@ -197,7 +188,21 @@


    -

    ]]> +

    + ]]> + + + + Furniture Store + workspace + write + + 75.01 + + 🪓 + + +
    diff --git a/furniture_store/data/knowledge_article_favorite.xml b/furniture_store/data/knowledge_article_favorite.xml index 84d98a158..3d5b6471e 100644 --- a/furniture_store/data/knowledge_article_favorite.xml +++ b/furniture_store/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/furniture_store/data/mail_message.xml b/furniture_store/data/mail_message.xml index 5c2a3ef2a..8c22e8b4e 100644 --- a/furniture_store/data/mail_message.xml +++ b/furniture_store/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Furniture Store + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('furniture_store.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/furniture_store/static/src/js/my_tour.js b/furniture_store/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/furniture_store/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/gardening/__manifest__.py b/gardening/__manifest__.py index 4ccc8bee4..6e4c4bba8 100644 --- a/gardening/__manifest__.py +++ b/gardening/__manifest__.py @@ -47,6 +47,15 @@ 'demo/timesheet.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'gardening/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour", + ], 'images': ['images/main.png'], } diff --git a/gardening/data/mail_message.xml b/gardening/data/mail_message.xml index 83d571e8e..1b15cc9b6 100644 --- a/gardening/data/mail_message.xml +++ b/gardening/data/mail_message.xml @@ -8,9 +8,8 @@ Knowledge article + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('gardening.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/gardening/static/src/js/my_tour.js b/gardening/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/gardening/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/hair_salon/__manifest__.py b/hair_salon/__manifest__.py index a6c1d452c..17ae87a56 100644 --- a/hair_salon/__manifest__.py +++ b/hair_salon/__manifest__.py @@ -51,6 +51,15 @@ 'demo/website_theme_apply.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'hair_salon/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/hair_salon/data/knowledge_article.xml b/hair_salon/data/knowledge_article.xml index 7f667d9b7..5428420da 100644 --- a/hair_salon/data/knowledge_article.xml +++ b/hair_salon/data/knowledge_article.xml @@ -1,14 +1,7 @@ - - Hair Salon - 4 - workspace - - - write - - + Hair Salon

    @@ -150,7 +143,18 @@
  • Click on Validate.
  • You can print the receipt, email it to your customer, create an invoice or start a new order.
  • - ]]> + ]]> + + + + Hair Salon + 4 + workspace + + + write + +
    diff --git a/hair_salon/data/knowledge_article_favorite.xml b/hair_salon/data/knowledge_article_favorite.xml index 9887c7f86..3d5b6471e 100644 --- a/hair_salon/data/knowledge_article_favorite.xml +++ b/hair_salon/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/hair_salon/data/mail_message.xml b/hair_salon/data/mail_message.xml index 3eb86a56b..626cd3c92 100644 --- a/hair_salon/data/mail_message.xml +++ b/hair_salon/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Hair Salon + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('hair_salon.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/hair_salon/static/src/js/my_tour.js b/hair_salon/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/hair_salon/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/hardware_shop/__manifest__.py b/hardware_shop/__manifest__.py index a18b052d4..ccd9f8cff 100644 --- a/hardware_shop/__manifest__.py +++ b/hardware_shop/__manifest__.py @@ -49,6 +49,15 @@ 'demo/function_pickup.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'hardware_shop/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/hardware_shop/data/knowledge_article.xml b/hardware_shop/data/knowledge_article.xml index d410d7b18..fdefc3a5a 100644 --- a/hardware_shop/data/knowledge_article.xml +++ b/hardware_shop/data/knowledge_article.xml @@ -1,17 +1,7 @@ - - Hardware Store - 🛠️ - 1 - workspace - - - write - - 59.76 - - + Hardware Shop

    Hello there! @@ -163,8 +153,21 @@

    + ]]> + - ]]> + + Hardware Store + 🛠️ + 1 + workspace + + + write + + 59.76 + +
    diff --git a/hardware_shop/data/knowledge_article_favorite.xml b/hardware_shop/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/hardware_shop/data/knowledge_article_favorite.xml +++ b/hardware_shop/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/hardware_shop/data/mail_message.xml b/hardware_shop/data/mail_message.xml index 0004b6e37..0dfeed954 100644 --- a/hardware_shop/data/mail_message.xml +++ b/hardware_shop/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Hardware Shop + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('hardware_shop.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/hardware_shop/static/src/js/my_tour.js b/hardware_shop/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/hardware_shop/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/headhunter/__manifest__.py b/headhunter/__manifest__.py index 7a2e24027..741d58cc0 100644 --- a/headhunter/__manifest__.py +++ b/headhunter/__manifest__.py @@ -64,6 +64,15 @@ 'demo/hr_applicant.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'headhunter/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/headhunter/data/knowledge_article.xml b/headhunter/data/knowledge_article.xml index ded77f6b5..207e472e4 100644 --- a/headhunter/data/knowledge_article.xml +++ b/headhunter/data/knowledge_article.xml @@ -1,13 +1,7 @@ - - Talent Acquisition - 📘 - write - - - - + Talent Acquisition Agency 
    @@ -72,7 +66,17 @@




    - ]]> + ]]> + + + + Talent Acquisition + 📘 + write + + + + diff --git a/headhunter/data/knowledge_article_favorite.xml b/headhunter/data/knowledge_article_favorite.xml index b7c6a9bbc..3d5b6471e 100644 --- a/headhunter/data/knowledge_article_favorite.xml +++ b/headhunter/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/headhunter/data/mail_message.xml b/headhunter/data/mail_message.xml index 1008ecd63..019d0010a 100644 --- a/headhunter/data/mail_message.xml +++ b/headhunter/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Headhunter + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('headhunter.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/headhunter/static/src/js/my_tour.js b/headhunter/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/headhunter/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/industry_lawyer/__manifest__.py b/industry_lawyer/__manifest__.py index adea7e234..6c24c0ef6 100644 --- a/industry_lawyer/__manifest__.py +++ b/industry_lawyer/__manifest__.py @@ -47,6 +47,15 @@ 'demo/website_theme_apply.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'industry_lawyer/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/industry_lawyer/data/knowledge_article.xml b/industry_lawyer/data/knowledge_article.xml index 1bda44f02..d74ca19dc 100644 --- a/industry_lawyer/data/knowledge_article.xml +++ b/industry_lawyer/data/knowledge_article.xml @@ -1,13 +1,6 @@ - - Law Firm - write - workspace - - 50.0 - - + + + + Law Firm + write + workspace + + 50.0 + + + diff --git a/industry_lawyer/data/knowledge_article_favorite.xml b/industry_lawyer/data/knowledge_article_favorite.xml index 2f6f515a1..3d5b6471e 100644 --- a/industry_lawyer/data/knowledge_article_favorite.xml +++ b/industry_lawyer/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/industry_lawyer/data/mail_message.xml b/industry_lawyer/data/mail_message.xml index 248ac8145..3f8e41db2 100644 --- a/industry_lawyer/data/mail_message.xml +++ b/industry_lawyer/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Lawyer + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('industry_lawyer.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/industry_lawyer/static/src/js/my_tour.js b/industry_lawyer/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/industry_lawyer/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/industry_real_estate/__manifest__.py b/industry_real_estate/__manifest__.py index 8c859ed5c..a4ebff79b 100644 --- a/industry_real_estate/__manifest__.py +++ b/industry_real_estate/__manifest__.py @@ -69,6 +69,15 @@ 'demo/website_theme_apply.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'industry_real_estate/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/industry_real_estate/data/knowledge_article.xml b/industry_real_estate/data/knowledge_article.xml index 87b6dcefa..b08d823fb 100644 --- a/industry_real_estate/data/knowledge_article.xml +++ b/industry_real_estate/data/knowledge_article.xml @@ -1,15 +1,6 @@ - - Real Estate rental agency 🏠🏢 - 1 - workspace - - - write - - 75.40000000000002 - + + + + Real Estate rental agency 🏠🏢 + 1 + workspace + + + write + + 75.40000000000002 + + diff --git a/industry_real_estate/data/knowledge_article_favorite.xml b/industry_real_estate/data/knowledge_article_favorite.xml index 6584b3d40..3d5b6471e 100644 --- a/industry_real_estate/data/knowledge_article_favorite.xml +++ b/industry_real_estate/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/industry_real_estate/data/mail_message.xml b/industry_real_estate/data/mail_message.xml index b6d57c157..546293745 100644 --- a/industry_real_estate/data/mail_message.xml +++ b/industry_real_estate/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Real Estate + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('industry_real_estate.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/industry_real_estate/static/src/js/my_tour.js b/industry_real_estate/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/industry_real_estate/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/industry_restaurant/__manifest__.py b/industry_restaurant/__manifest__.py index 7aee03119..d08741f0e 100644 --- a/industry_restaurant/__manifest__.py +++ b/industry_restaurant/__manifest__.py @@ -60,6 +60,14 @@ 'demo/website_theme_apply.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'industry_restaurant/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/industry_restaurant/data/mail_message.xml b/industry_restaurant/data/mail_message.xml index 18951835b..38a879fc0 100644 --- a/industry_restaurant/data/mail_message.xml +++ b/industry_restaurant/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Restaurant + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('industry_restaurant.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/industry_restaurant/static/src/js/my_tour.js b/industry_restaurant/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/industry_restaurant/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/it_hardware/__manifest__.py b/it_hardware/__manifest__.py index 3ec7d247b..725bb5981 100644 --- a/it_hardware/__manifest__.py +++ b/it_hardware/__manifest__.py @@ -67,6 +67,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'it_hardware/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/it_hardware/data/knowledge_article.xml b/it_hardware/data/knowledge_article.xml index 0b3ad2545..f88d0fe65 100644 --- a/it_hardware/data/knowledge_article.xml +++ b/it_hardware/data/knowledge_article.xml @@ -1,14 +1,7 @@ - - IT Hardware & Support - 💻 - write - - - - - + IT Hardware Sales & Service

    Company is a specialized IT Sales Establishment that focuses on providing a diverse selection of IT components for sale. The product contains laptops, RAM, accessories, CCTV cameras, and other related items. In addition to product sales, it is also offering installation and repair services for these components. @@ -184,7 +177,18 @@

    If the product is under warranty then no need to create the invoice and if the product is out of warranty then the user can send the quotation for the repair. Once the customer confirms the rate then the user can start repairing and after the repair, we will give the customer an invoice.
    - ]]> + ]]> + + + + IT Hardware & Support + 💻 + write + + + + +
    diff --git a/it_hardware/data/mail_message.xml b/it_hardware/data/mail_message.xml index 4bc29fecf..6dfbe9206 100644 --- a/it_hardware/data/mail_message.xml +++ b/it_hardware/data/mail_message.xml @@ -8,9 +8,8 @@ Knowledge article + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('it_hardware.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/it_hardware/static/src/js/my_tour.js b/it_hardware/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/it_hardware/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/micro_brewery/__manifest__.py b/micro_brewery/__manifest__.py index a2b9b1c29..16d6d5108 100644 --- a/micro_brewery/__manifest__.py +++ b/micro_brewery/__manifest__.py @@ -80,6 +80,14 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'micro_brewery/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/micro_brewery/data/mail_message.xml b/micro_brewery/data/mail_message.xml index de6324c49..162f0a114 100644 --- a/micro_brewery/data/mail_message.xml +++ b/micro_brewery/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Micro Brewery + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('micro_brewery.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/micro_brewery/static/src/js/my_tour.js b/micro_brewery/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/micro_brewery/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/non_profit_organization/__manifest__.py b/non_profit_organization/__manifest__.py index df466e12b..b28dc467e 100644 --- a/non_profit_organization/__manifest__.py +++ b/non_profit_organization/__manifest__.py @@ -47,6 +47,15 @@ 'demo/payment_provider_demo_post.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'non_profit_organization/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/non_profit_organization/data/knowledge_article.xml b/non_profit_organization/data/knowledge_article.xml index b1e216850..be73304cc 100644 --- a/non_profit_organization/data/knowledge_article.xml +++ b/non_profit_organization/data/knowledge_article.xml @@ -1,12 +1,7 @@ - - Nonprofit Organization - write - workspace - - - + Non Profit Organization

    @@ -81,6 +76,15 @@


    - ]]>
    + ]]> + + + + Nonprofit Organization + write + workspace + + +
    diff --git a/non_profit_organization/data/knowledge_article_attachments.xml b/non_profit_organization/data/knowledge_article_attachments.xml index 848c4ccbf..21daa56ac 100644 --- a/non_profit_organization/data/knowledge_article_attachments.xml +++ b/non_profit_organization/data/knowledge_article_attachments.xml @@ -3,35 +3,35 @@ image.png knowledge.article - + non_profit_organization.ir_attachment_504 image.png knowledge.article - + non_profit_organization.ir_attachment_505 image.png knowledge.article - + non_profit_organization.ir_attachment_518 image.png knowledge.article - + non_profit_organization.ir_attachment_524 image.png knowledge.article - + non_profit_organization.ir_attachment_525 diff --git a/non_profit_organization/data/knowledge_article_favorite.xml b/non_profit_organization/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/non_profit_organization/data/knowledge_article_favorite.xml +++ b/non_profit_organization/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/non_profit_organization/data/mail_message.xml b/non_profit_organization/data/mail_message.xml index 46be8920e..24be9da10 100644 --- a/non_profit_organization/data/mail_message.xml +++ b/non_profit_organization/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Non Profit Organization + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('non_profit_organization.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/non_profit_organization/static/src/js/my_tour.js b/non_profit_organization/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/non_profit_organization/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/pharmacy_retail/__manifest__.py b/pharmacy_retail/__manifest__.py index 76c6e8dce..6eedd18bd 100644 --- a/pharmacy_retail/__manifest__.py +++ b/pharmacy_retail/__manifest__.py @@ -70,6 +70,15 @@ 'demo/pos_config.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'pharmacy_retail/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/pharmacy_retail/data/knowledge_article.xml b/pharmacy_retail/data/knowledge_article.xml index 7a2e68997..4e3be9c13 100644 --- a/pharmacy_retail/data/knowledge_article.xml +++ b/pharmacy_retail/data/knowledge_article.xml @@ -1,16 +1,7 @@ - - Pharmacy - 1 - - write - workspace - - - 💊 - - + Pharmacy Retail

    This setup is for pharmacy retail companies that purchase and sell products. They maintain the stock lot wise and also manage the expiry of the lots.


    @@ -222,7 +213,20 @@
    You can use the following payment methods: Cash, Bank or Customer Account.



    - ]]> + ]]> + + + + Pharmacy + 1 + + write + workspace + + + 💊 + +
    diff --git a/pharmacy_retail/data/knowledge_article_favorite.xml b/pharmacy_retail/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/pharmacy_retail/data/knowledge_article_favorite.xml +++ b/pharmacy_retail/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/pharmacy_retail/data/mail_message.xml b/pharmacy_retail/data/mail_message.xml index 777eb63e0..f8c04cd58 100644 --- a/pharmacy_retail/data/mail_message.xml +++ b/pharmacy_retail/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Pharmacy retail + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('pharmacy_retail.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/pharmacy_retail/static/src/js/my_tour.js b/pharmacy_retail/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/pharmacy_retail/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/photography/__manifest__.py b/photography/__manifest__.py index 40b416a47..1a1e773b5 100644 --- a/photography/__manifest__.py +++ b/photography/__manifest__.py @@ -52,6 +52,15 @@ 'demo/website_menu.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'photography/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/photography/data/knowledge_article.xml b/photography/data/knowledge_article.xml index d1ddebbfc..3ed27569f 100644 --- a/photography/data/knowledge_article.xml +++ b/photography/data/knowledge_article.xml @@ -1,13 +1,6 @@ - - Photography - Start here! - workspace - write - - 50.0 - - + + + + Photography - Start here! + workspace + write + + 50.0 + + + diff --git a/photography/data/knowledge_article_favorite.xml b/photography/data/knowledge_article_favorite.xml index 35eaf9400..3d5b6471e 100644 --- a/photography/data/knowledge_article_favorite.xml +++ b/photography/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/photography/data/mail_message.xml b/photography/data/mail_message.xml index 9fa1e2ce8..50fc2592d 100644 --- a/photography/data/mail_message.xml +++ b/photography/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Photography + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('photography.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/photography/static/src/js/my_tour.js b/photography/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/photography/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/software_reseller/__manifest__.py b/software_reseller/__manifest__.py index 0dc9afc66..bc97d5442 100644 --- a/software_reseller/__manifest__.py +++ b/software_reseller/__manifest__.py @@ -48,6 +48,15 @@ 'demo/planning_slot.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'software_reseller/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/software_reseller/data/knowledge_article.xml b/software_reseller/data/knowledge_article.xml index b312fc585..61cd0584c 100644 --- a/software_reseller/data/knowledge_article.xml +++ b/software_reseller/data/knowledge_article.xml @@ -1,6 +1,16 @@ - + + software Resellers 1 workspace @@ -9,13 +19,7 @@ - <h1 > - <span style="font-size: 36px;">Software Resellers,&nbsp;IT Services</span><br></h1> -<p> - <span style="font-size: 14px;">This setup if for IT companies reselling software licenses, and consulting services.🚀 The typical sale is a 1 year Oracle Database license that is purchased to Oracle, and resold to client at a margin, with extra services to setup the database.</span></p><p>Licenses as managed as tasks in the project management app, with custom properties; license key, number of users, software version, ... these properties depend on the type of software sold (i.e. Odoo is sold based on the number of users periodically, but Oracle requires a lot of information: number of CPUs, number of developer seats, size of DB, etc)</p> -<div class="o_knowledge_behavior_anchor o_knowledge_behavior_type_toc" data-oe-protected="true"><div class="o_knowledge_toc_content"><a href="#" data-oe-nodeid="0" class="oe_unremovable o_no_link_popover d-block o_knowledge_toc_link o_knowledge_toc_link_depth_0">Software Resellers,&nbsp;IT Services -</a><a href="#" data-oe-nodeid="1" class="oe_unremovable o_no_link_popover d-block o_knowledge_toc_link o_knowledge_toc_link_depth_0">Business Flows: Licenses Management</a><a href="#" data-oe-nodeid="2" class="oe_unremovable o_no_link_popover d-block o_knowledge_toc_link o_knowledge_toc_link_depth_1">Flow 1: Sell Oracle Licenses</a><a href="#" data-oe-nodeid="3" class="oe_unremovable o_no_link_popover d-block o_knowledge_toc_link o_knowledge_toc_link_depth_1">Flow 2: Manage your licenses</a><a href="#" data-oe-nodeid="4" class="oe_unremovable o_no_link_popover d-block o_knowledge_toc_link o_knowledge_toc_link_depth_1">Flow 3: Renew a license</a><a href="#" data-oe-nodeid="5" class="oe_unremovable o_no_link_popover d-block o_knowledge_toc_link o_knowledge_toc_link_depth_0">Business Flow: Selling Services</a><a href="#" data-oe-nodeid="6" class="oe_unremovable o_no_link_popover d-block o_knowledge_toc_link o_knowledge_toc_link_depth_1">Flow 3: Selling Odoo with Services</a></div></div><p><br></p> -<h1>Business Flows: Licenses Management</h1><hr> -<h2>Flow 1: Sell Oracle Licenses</h2><p><strong><u>Sell Oracle Licenses</u></strong></p><p>Create a <strong><font class="text-o-color-2">subscription​</font></strong> to any customer with the <strong><font class="text-o-color-2">product "Oracle Database"</font></strong><font class="text-o-color-2">,</font> for 5 users for one year. Once you confirm this&nbsp;order, two documents will be created:</p><ul><li>A purchase order to Oracle; to buy the license for this client</li><li>A task to manage the license, in stage "New Requests"</li></ul><p><strong><u>Purchase the licenses</u></strong></p><p>From the subscription, using the top buttons, jump to the purchase order to buy these licenses to Oracle. You can send by email your request for quotation, then confirm the order. At that point, Oracle will send you the license number.</p><p>Go back to the sale order, then jump to the task. On the task, set the different informations based on what oracle sends you:</p><ul><li>Environement: Production</li><li>Version: 20.0.1</li><li>License Key: XYZ</li><li>Responsible: your account manager / user</li></ul><h2>Flow 2: Manage your licenses</h2><p>From the <strong><font class="text-o-color-2">app "Licenses"</font></strong>, you an have an overview of all your software licenses. Click on one specific license to track license keys belonging to each customer.</p><p>From a license key:</p><ul><li>Record all information related to the license (version, type of license, ...). These information are different from one license type to another (Oracle vs Odoo)</li><li>You can communicate with customers on the chatter, to keep an history of the discussions</li></ul><p>The <strong>Licenses</strong>&nbsp;app has 3 menus:</p><ul><li>Licenses by Software (in kanban)</li><li>All Licenses (default to list)</li><li>Licenses to Renew: things you have to check periodically</li></ul><blockquote data-o-mail-quote-node="1" data-o-mail-quote="1"><font style="background-color: rgb(255, 231, 206);">A studio automated action turn tasks in Changes Requested when the license key expires in the 15 days or less.</font></blockquote><h2 data-o-mail-quote-node="1" data-o-mail-quote="1">Flow 3: Renew a license</h2><p data-o-mail-quote-node="1" data-o-mail-quote="1">To renew a license, you should just renew the subscription; the task remains the same.</p><p data-o-mail-quote-node="1" data-o-mail-quote="1"><br></p><p></p><h1>Business Flow: Selling Services</h1><hr><h3>Flow 3: Selling Odoo with Services</h3><p><strong><u>Sell a project</u></strong></p><p>Usually, you sell the software licenses with additional services. To test this flow, as you create a quotation, use the quotation template <strong><font class="text-o-color-2">"Odoo Standard Implementation"</font><font style="color: inherit;"><span style="font-weight: normal;">. That will add the services billed on timesheets (default setup: sell days, but timesheets per hour).</span></font></strong></p><blockquote data-o-mail-quote-node="1" data-o-mail-quote="1"><font style="background-color: rgb(255, 239, 198);">From the "Optional Products" tab, you can also add development services ine one click.</font></blockquote><p>As you confirm the order, it will:</p><ul><li><font style="background-color: inherit;">Create a purchase order to buy the Odoo license to Odoo S.A.</font></li><li>Create a task to track the license</li><li>Create 3 tasks to track services</li><li>Create 200 hours to plan, in the planning</li></ul><p><strong><u>Invoice Licenses</u></strong></p><p>As you confirm the order, the license line is blue as you can already invoice it. The consulting services are black as there is nothing to invoice; you'll be able to invoice at the end of the month, based on the time spent on the project.</p><blockquote data-o-mail-quote-node="1" data-o-mail-quote="1"><font style="color: inherit; background-color: rgb(255, 239, 198);">On this order, the way to manage licenses is similar to the above section. So, we'll mostly focus on the delivery of the extra services.</font><br></blockquote><p><strong><u>Plan Consultants</u></strong>&nbsp;</p><p>From the planning, click on the "Plan Existing" icon;</p><ul><li>Select the services to plan "Business Need Analysis" and "Odoo Configuration" (training will be planned later on, on phase 2)</li><li>Assign these services to the right person.</li></ul><p><strong><u>Timesheet Work done</u></strong></p><p>From the timesheet app, or on the task, consultants can timesheet hours on the different phases of the project: Business Need Analysis, Odoo Configuration, or Training &amp; Support. This will be reflected as "Delivered Quantity" on the sale order lines.</p><p><strong><u>Invoice Projects</u></strong></p><p>At the end of the month, salespeople go to the menu "Orders to Invoice" in Sales app. From there they can select an order (or select all), and invoice what has been delivered on the order.</p> + + diff --git a/software_reseller/data/knowledge_article_favorite.xml b/software_reseller/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/software_reseller/data/knowledge_article_favorite.xml +++ b/software_reseller/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/software_reseller/data/mail_message.xml b/software_reseller/data/mail_message.xml index c9821aa91..ee817df30 100644 --- a/software_reseller/data/mail_message.xml +++ b/software_reseller/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Software Reseller + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('software_reseller.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/software_reseller/static/src/js/my_tour.js b/software_reseller/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/software_reseller/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/solar_installation/__manifest__.py b/solar_installation/__manifest__.py index cefad881a..7e3be3c3c 100644 --- a/solar_installation/__manifest__.py +++ b/solar_installation/__manifest__.py @@ -91,6 +91,15 @@ 'demo/x_project_task_worksheet.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'solar_installation/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], 'images': ['images/main.png'], } diff --git a/solar_installation/data/knowledge_article.xml b/solar_installation/data/knowledge_article.xml index d82c5fa29..0f0e3b0d1 100644 --- a/solar_installation/data/knowledge_article.xml +++ b/solar_installation/data/knowledge_article.xml @@ -1,14 +1,7 @@ - - Solar Energy Systems - 🛠️ - write - - - - - + Solar Installation

    This setup is for companies providing solar equipment and its installation service. Usually, residential customers place orders from 1 kW to 10 kW while others up to 100 kW. Solar panels and other equipment are installed at customer site based on kW capacity. @@ -82,7 +75,18 @@

    - In case of delivery to customer's address, Helpdesk user will communicate with the customer after delivery and take confirmation from customer about equipment working and closes the Ticket.

    - ]]> + ]]> + + + + Solar Energy Systems + 🛠️ + write + + + + +
    diff --git a/solar_installation/data/knowledge_article_favorite.xml b/solar_installation/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/solar_installation/data/knowledge_article_favorite.xml +++ b/solar_installation/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/solar_installation/data/mail_message.xml b/solar_installation/data/mail_message.xml index d7f0ba2f8..6881bb8de 100644 --- a/solar_installation/data/mail_message.xml +++ b/solar_installation/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Solar Installation + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('solar_installation.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/solar_installation/static/src/js/my_tour.js b/solar_installation/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/solar_installation/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/sports_club/__manifest__.py b/sports_club/__manifest__.py index 74fda752d..f06c2b9a8 100644 --- a/sports_club/__manifest__.py +++ b/sports_club/__manifest__.py @@ -65,4 +65,13 @@ 'license': 'OPL-1', 'author': 'Odoo S.A.', 'images': ['images/main.png'], + 'assets': { + 'web.assets_backend': [ + 'sports_club/static/src/js/my_tour.js', + ] + }, + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], } diff --git a/sports_club/data/knowledge_article.xml b/sports_club/data/knowledge_article.xml index f89b6f5c5..8b215ec5b 100644 --- a/sports_club/data/knowledge_article.xml +++ b/sports_club/data/knowledge_article.xml @@ -1,16 +1,7 @@ - - Sports Club - 🎾 - write - workspace - - - 67.60000000000008 - - - + Sports Club @@ -82,7 +73,20 @@ On top of that, employees working behind the counter can also take phone calls and book some courts. For this, they use the Appointments > Resource Schedule menu. 


    - ]]> + ]]> + + + + Sports Club + 🎾 + write + workspace + + + 67.60000000000008 + + + diff --git a/sports_club/data/knowledge_article_favorite.xml b/sports_club/data/knowledge_article_favorite.xml index bb8a92516..3d5b6471e 100644 --- a/sports_club/data/knowledge_article_favorite.xml +++ b/sports_club/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/sports_club/data/mail_message.xml b/sports_club/data/mail_message.xml index c3c7b7b0e..8c454e020 100644 --- a/sports_club/data/mail_message.xml +++ b/sports_club/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Sports Club + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('sports_club.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/>
    diff --git a/sports_club/static/src/js/my_tour.js b/sports_club/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/sports_club/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/surveyor/__manifest__.py b/surveyor/__manifest__.py index 8535377c7..061746f7e 100644 --- a/surveyor/__manifest__.py +++ b/surveyor/__manifest__.py @@ -52,6 +52,15 @@ 'demo/website_ir_attachment.xml', ], 'license': 'OPL-1', + 'assets': { + 'web.assets_backend': [ + 'surveyor/static/src/js/my_tour.js', + ] + }, 'author': 'Odoo S.A.', 'images': ['images/main.png'], + "cloc_exclude": [ + "data/knowledge_article.xml", + "static/src/js/my_tour.js", + ], } diff --git a/surveyor/data/knowledge_article.xml b/surveyor/data/knowledge_article.xml index 0e28c3a98..be9695147 100644 --- a/surveyor/data/knowledge_article.xml +++ b/surveyor/data/knowledge_article.xml @@ -1,16 +1,7 @@ - - 92.01000000000006 - - 3/ - write - True - - 3 - Surveying & Mapping - 📐 - + Surveyor

    This setup is for surveyors that sell services like land measurement & mapping, planning permission, mediation counsel, etc to private customers as well as companies (architect, notary, real estate, …).


    @@ -46,7 +37,21 @@ project sub-workspace so that the customer has direct access to it.

    Once the final documents are delivered to the customer, the surveyor can send the final invoice potentially adapting the hours spent on each service.

    -]]> -
    + ]]> + + + + 92.01000000000006 + + 3/ + write + True + + 3 + Surveying & Mapping + 📐 + + +
    diff --git a/surveyor/data/knowledge_article_favorite.xml b/surveyor/data/knowledge_article_favorite.xml index 6584b3d40..3d5b6471e 100644 --- a/surveyor/data/knowledge_article_favorite.xml +++ b/surveyor/data/knowledge_article_favorite.xml @@ -1,7 +1,7 @@ - + diff --git a/surveyor/data/mail_message.xml b/surveyor/data/mail_message.xml index b55652711..acd0ba7e8 100644 --- a/surveyor/data/mail_message.xml +++ b/surveyor/data/mail_message.xml @@ -6,11 +6,10 @@ email - Knowledge article + 🚀 Get started with Odoo Surveyor + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('surveyor.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/surveyor/static/src/js/my_tour.js b/surveyor/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/surveyor/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +}); diff --git a/tests/test_generic/tests/test_industry_requirements.py b/tests/test_generic/tests/test_industry_requirements.py index 6a81c5290..c22f1ee59 100644 --- a/tests/test_generic/tests/test_industry_requirements.py +++ b/tests/test_generic/tests/test_industry_requirements.py @@ -24,6 +24,20 @@ def test_payment_demo(self): "Call 'button_immediate_install' on 'base.module_payment_demo' in demo." ) + def test_welcome_article_exists(self): + for module in self.installed_modules: + ref = self.env.ref(f"{module}.welcome_article", raise_if_not_found=False) + self.assertTrue( + ref, f"You forgot to define a record with id='welcome_article' in module '{module}'." + ) + + def test_welcome_article_body_exists(self): + for module in self.installed_modules: + ref = self.env.ref(f"{module}.welcome_article_body", raise_if_not_found=False) + self.assertTrue( + ref, f"You forgot to define a template with id='welcome_article_body' in module '{module}'." + ) + def test_knowledge_article_notification(self): for module in self.installed_modules: ref = self.env.ref(module + '.notification_knowledge', raise_if_not_found=False) @@ -32,7 +46,7 @@ def test_knowledge_article_notification(self): ) notif = self.env['mail.message'].browse(ref.id) self.assertIn( - ' Knowledge article + '<span>👋 Hi! Follow this <a href=\'' + + obj().env.ref('wellness_practitioner.welcome_article').article_url + + '\'>onboarding guide</a>. You can find it anytime in the Knowledge app.</span>'"/> diff --git a/wellness_practitioner/static/src/js/my_tour.js b/wellness_practitioner/static/src/js/my_tour.js new file mode 100644 index 000000000..27e8df355 --- /dev/null +++ b/wellness_practitioner/static/src/js/my_tour.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { registry } from "@web/core/registry"; + +registry.category("web_tour.tours").add("knowledge_tour", { + url: "/odoo", + sequence: 2, + steps: () => [ + { + trigger: '.o_app[data-menu-xmlid="knowledge.knowledge_menu_root"]', + content: _t("Open Knowledge to find the onboarding guide."), + position: "bottom", + run: "click", + }, + ], +});