From d28030e9532f0496c1e9cfc71b87a23b3327d1f0 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 15 Oct 2024 10:39:56 +0530 Subject: [PATCH 01/27] [ADD] agriculture_shop: purchase flow tour --- agriculture_shop/__manifest__.py | 3 + agriculture_shop/data/knowledge_article.xml | 1 + agriculture_shop/data/purchase_tour.xml | 8 + agriculture_shop/data/res_config_settings.xml | 4 +- .../static/src/js/tours/purchase_flow.js | 147 ++++++++++++++++++ 5 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 agriculture_shop/data/purchase_tour.xml create mode 100644 agriculture_shop/static/src/js/tours/purchase_flow.js diff --git a/agriculture_shop/__manifest__.py b/agriculture_shop/__manifest__.py index 323f66b789..86e4386bb8 100644 --- a/agriculture_shop/__manifest__.py +++ b/agriculture_shop/__manifest__.py @@ -38,6 +38,7 @@ 'data/website_theme_apply.xml', 'data/ir_model_data.xml', 'data/knowledge_tour.xml', + 'data/purchase_tour.xml', ], 'demo': [ 'demo/res_partner.xml', @@ -70,12 +71,14 @@ 'assets': { 'web.assets_backend': [ 'agriculture_shop/static/src/js/my_tour.js', + 'agriculture_shop/static/src/js/tours/purchase_flow.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/purchase_flow.js", ], 'images': ['images/main.png'], } diff --git a/agriculture_shop/data/knowledge_article.xml b/agriculture_shop/data/knowledge_article.xml index 9d31b0e7da..d03156f02b 100644 --- a/agriculture_shop/data/knowledge_article.xml +++ b/agriculture_shop/data/knowledge_article.xml @@ -41,6 +41,7 @@
  • Confirm RFQ based on best price
  • Validate the reception for all quantities at once.
  • + Purchase Flow Tutorial

    Flow 2: Sales from Website (B2B / B2C)

    diff --git a/agriculture_shop/data/purchase_tour.xml b/agriculture_shop/data/purchase_tour.xml new file mode 100644 index 0000000000..b093db6a99 --- /dev/null +++ b/agriculture_shop/data/purchase_tour.xml @@ -0,0 +1,8 @@ + + + + purchase_custom_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/agriculture_shop/data/res_config_settings.xml b/agriculture_shop/data/res_config_settings.xml index 07cd0852e5..96d68d0e89 100644 --- a/agriculture_shop/data/res_config_settings.xml +++ b/agriculture_shop/data/res_config_settings.xml @@ -3,8 +3,10 @@ + + - + diff --git a/agriculture_shop/static/src/js/tours/purchase_flow.js b/agriculture_shop/static/src/js/tours/purchase_flow.js new file mode 100644 index 0000000000..21b38c94b6 --- /dev/null +++ b/agriculture_shop/static/src/js/tours/purchase_flow.js @@ -0,0 +1,147 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("purchase_custom_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='purchase\\.menu_purchase_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit gloster" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit on" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_notebook_headers a[name='alternative_pos']", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a", + "run": "click" + }, + { + "trigger": ".o_create_button", + "run": "click" + }, + { + "trigger": "main .o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit ast" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_section_and_note_list_view a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit on" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='product_qty'] > .o_input", + "run": "edit 100" + }, + { + "trigger": ".o-wysiwyg div[contenteditable='true']", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='price_unit']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='price_unit'] > .o_input", + "run": "edit 110" + }, + { + "trigger": ".o-wysiwyg div[contenteditable='true']", + "run": "click" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_cell button[name='action_compare_alternative_lines']", + "run": "click" + }, + { + "trigger": ".o_data_row:nth-child(3) .o_clear_qty_buttons[name='action_choose']", + "run": "click" + }, + { + "trigger": ".o_back_button > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_confirm']", + "run": "click" + }, + { + "trigger": ".o_technical_modal button[name='action_cancel_alternatives']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_view_picking']", + "run": "click" + }, + { + "trigger": ".o_data_cell:nth-child(5) > button[name='Open\\ Move']", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='lot_name']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='lot_name'] > .o_input", + "run": "edit lot001" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_breadcrumb li:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From 6f769f90039c4e926d995042cc6f64bb3c064af0 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 15 Oct 2024 14:37:16 +0530 Subject: [PATCH 02/27] [ADD] art_craft: consignment purchase flow tour --- agriculture_shop/data/knowledge_article.xml | 2 +- art_craft/__manifest__.py | 3 + art_craft/data/consignment_purchase_tour.xml | 8 ++ art_craft/data/knowledge_article.xml | 1 + .../src/js/tours/consignment_purchase_tour.js | 79 +++++++++++++++++++ 5 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 art_craft/data/consignment_purchase_tour.xml create mode 100644 art_craft/static/src/js/tours/consignment_purchase_tour.js diff --git a/agriculture_shop/data/knowledge_article.xml b/agriculture_shop/data/knowledge_article.xml index d03156f02b..ff58b61e0f 100644 --- a/agriculture_shop/data/knowledge_article.xml +++ b/agriculture_shop/data/knowledge_article.xml @@ -41,7 +41,7 @@
  • Confirm RFQ based on best price
  • Validate the reception for all quantities at once.
  • - Purchase Flow Tutorial + Purchase Flow Tutorial

    Flow 2: Sales from Website (B2B / B2C)

    diff --git a/art_craft/__manifest__.py b/art_craft/__manifest__.py index c7fbf38fc3..7242e1a8cd 100644 --- a/art_craft/__manifest__.py +++ b/art_craft/__manifest__.py @@ -52,6 +52,7 @@ 'data/website_view.xml', 'data/ir_model_data.xml', 'data/knowledge_tour.xml', + 'data/consignment_purchase_tour.xml', ], 'demo': [ 'demo/res_partner.xml', @@ -79,12 +80,14 @@ 'assets': { 'web.assets_backend': [ 'art_craft/static/src/js/my_tour.js', + 'art_craft/static/src/js/tours/consignment_purchase_tour.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/consignment_purchase_tour.js", ], 'images': ['images/main.png'], } diff --git a/art_craft/data/consignment_purchase_tour.xml b/art_craft/data/consignment_purchase_tour.xml new file mode 100644 index 0000000000..e998f1d7a2 --- /dev/null +++ b/art_craft/data/consignment_purchase_tour.xml @@ -0,0 +1,8 @@ + + + + consignment_purchase + 1000 + Good job! You went through all steps of this tour. + + diff --git a/art_craft/data/knowledge_article.xml b/art_craft/data/knowledge_article.xml index 35013ca559..08631b6e3a 100644 --- a/art_craft/data/knowledge_article.xml +++ b/art_craft/data/knowledge_article.xml @@ -69,6 +69,7 @@
  • Reception time system auto took (Customization: Automated action)the consignee name in the standard field of the consignee owner or also took the third party name manually.
  • Validate the reception for all quantities at once.
  • + Consignment Purchase Flow Tutorial


    Flow 3: Point of sales - Regular


    diff --git a/art_craft/static/src/js/tours/consignment_purchase_tour.js b/art_craft/static/src/js/tours/consignment_purchase_tour.js new file mode 100644 index 0000000000..5030ef1395 --- /dev/null +++ b/art_craft/static/src/js/tours/consignment_purchase_tour.js @@ -0,0 +1,79 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("consignment_purchase", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='purchase\\.menu_purchase_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit demo" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_is_consignee'] input", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "click" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_section_and_note_list_view tr:nth-child(3) > td", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "click" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(5) > a", + "run": "click" + }, + { + "trigger": ".o_section_and_note_list_view tr:nth-child(4) > td", + "run": "click" + }, + { + "trigger": ".o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_confirm']", + "run": "click" + }, + { + "trigger": ".o_stat_text", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From c564cf44faeed8f86e748b4118b5907c93ce1b85 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Wed, 16 Oct 2024 10:44:58 +0530 Subject: [PATCH 03/27] [ADD] beverage_distributor: added tour --- beverage_distributor/__manifest__.py | 3 + .../data/deposit_management_tour.xml | 8 + .../data/knowledge_article.xml | 1 + .../src/js/tours/deposit_management_tour.js | 143 ++++++++++++++++++ 4 files changed, 155 insertions(+) create mode 100644 beverage_distributor/data/deposit_management_tour.xml create mode 100644 beverage_distributor/static/src/js/tours/deposit_management_tour.js diff --git a/beverage_distributor/__manifest__.py b/beverage_distributor/__manifest__.py index 8f041c799c..84a39fbfd4 100644 --- a/beverage_distributor/__manifest__.py +++ b/beverage_distributor/__manifest__.py @@ -49,6 +49,7 @@ 'data/pos_config.xml', 'data/res_config_settings.xml', 'data/knowledge_tour.xml', + 'data/deposit_management_tour.xml', ], 'demo': [ 'demo/website.xml', @@ -77,11 +78,13 @@ 'assets': { 'web.assets_backend': [ 'beverage_distributor/static/src/js/my_tour.js', + 'beverage_distributor/static/src/js/tours/deposit_management_tour.js', ] }, "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/deposit_management_tour.js", ], 'license': 'OPL-1', 'author': 'Odoo S.A.', diff --git a/beverage_distributor/data/deposit_management_tour.xml b/beverage_distributor/data/deposit_management_tour.xml new file mode 100644 index 0000000000..4006fd65fd --- /dev/null +++ b/beverage_distributor/data/deposit_management_tour.xml @@ -0,0 +1,8 @@ + + + + deposit_management_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/beverage_distributor/data/knowledge_article.xml b/beverage_distributor/data/knowledge_article.xml index 9a9c7c6e92..97092efd60 100644 --- a/beverage_distributor/data/knowledge_article.xml +++ b/beverage_distributor/data/knowledge_article.xml @@ -79,6 +79,7 @@
  • You can also collect deposit directly on your Point of Sale. Select the correct product and encode a negative quantity.
  • + Deposit Management Flow Tutorial


    Sales Management 🍾

    Use the Sales app to:

    diff --git a/beverage_distributor/static/src/js/tours/deposit_management_tour.js b/beverage_distributor/static/src/js/tours/deposit_management_tour.js new file mode 100644 index 0000000000..0c8aeb9d35 --- /dev/null +++ b/beverage_distributor/static/src/js/tours/deposit_management_tour.js @@ -0,0 +1,143 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("deposit_management_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='sale\\.sale_menu_root']", + "run": "click" + }, + { + "trigger": ".o-dropdown[data-menu-xmlid='sale\\.product_menu_catalog']", + "run": "click" + }, + { + "trigger": ".o-dropdown-item[data-menu-xmlid='sale\\.menu_product_template_action']", + "run": "click" + }, + { + "trigger": ".o_kanban_record:nth-child(19) > main > span:nth-child(2)", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_deposit_product_1'] .o-autocomplete--input", + "run": "click" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(4) > a", + "run": "click" + }, + { + "trigger": ".o_form_button_save", + "run": "click" + }, + { + "trigger": ".o-dropdown[data-menu-xmlid='sale\\.sale_order_menu']", + "run": "click" + }, + { + "trigger": ".o-dropdown-item[data-menu-xmlid='sale\\.menu_sale_quotations']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit gourmet" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit mobius tri" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(2) > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_confirm']", + "run": "click" + }, + { + "trigger": ".oe_stat_button[name='action_view_delivery']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='\\34 10']", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a", + "run": "click" + }, + { + "trigger": ".o-autocomplete--input", + "run": "edit deposit" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(4) > a", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='quantity'] > .o_input", + "run": "edit 3" + }, + { + "trigger": ".o_field_x2many_list_row_add > a", + "run": "click" + }, + { + "trigger": ".o-autocomplete--input", + "run": "edit depo" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(3) > a", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='quantity'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_technical_modal button[name='action_create_returns']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_breadcrumb li:nth-child(2) > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='\\37 21']", + "run": "click" + }, + { + "trigger": ".o_technical_modal button[name='create_invoices']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_post']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From f4a94a57145b33d441be108fcd7400b1dacd596f Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Wed, 16 Oct 2024 14:36:40 +0530 Subject: [PATCH 04/27] [ADD] micro_brewery: added tour --- micro_brewery/__manifest__.py | 3 + micro_brewery/data/knowledge_article.xml | 1 + micro_brewery/data/manufacturing_tour.xml | 8 ++ .../static/src/js/tours/manufacturing_tour.js | 135 ++++++++++++++++++ 4 files changed, 147 insertions(+) create mode 100644 micro_brewery/data/manufacturing_tour.xml create mode 100644 micro_brewery/static/src/js/tours/manufacturing_tour.js diff --git a/micro_brewery/__manifest__.py b/micro_brewery/__manifest__.py index 62c4b10bf5..a2d4558f26 100644 --- a/micro_brewery/__manifest__.py +++ b/micro_brewery/__manifest__.py @@ -53,6 +53,7 @@ 'data/website_view.xml', 'data/ir_model_data.xml', 'data/knowledge_tour.xml', + 'data/manufacturing_tour.xml', ], 'demo': [ 'demo/website.xml', @@ -84,12 +85,14 @@ 'assets': { 'web.assets_backend': [ 'micro_brewery/static/src/js/my_tour.js', + 'micro_brewery/static/src/js/tours/manufacturing_tour.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/manufacturing_tour.js", ], 'images': ['images/main.png'], } diff --git a/micro_brewery/data/knowledge_article.xml b/micro_brewery/data/knowledge_article.xml index 739f39ae67..734fbaf801 100644 --- a/micro_brewery/data/knowledge_article.xml +++ b/micro_brewery/data/knowledge_article.xml @@ -99,6 +99,7 @@

    It is interesting to mention that a lot of microbreweries do not have the machines for the kegging but it is possible to create a separate bill of Materials with the type subcontracting, if the bottling is made externally.

    +Crafting a beer Tutorial


    Purchase and receive components

    Go into the purchase application and create a new purchase order with all the components you need to execute your recipe. Make sure you buy enough quantity of each components and validate the order.

    diff --git a/micro_brewery/data/manufacturing_tour.xml b/micro_brewery/data/manufacturing_tour.xml new file mode 100644 index 0000000000..fb4b811393 --- /dev/null +++ b/micro_brewery/data/manufacturing_tour.xml @@ -0,0 +1,8 @@ + + + + manufacturing_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/micro_brewery/static/src/js/tours/manufacturing_tour.js b/micro_brewery/static/src/js/tours/manufacturing_tour.js new file mode 100644 index 0000000000..730ae58311 --- /dev/null +++ b/micro_brewery/static/src/js/tours/manufacturing_tour.js @@ -0,0 +1,135 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("manufacturing_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='mrp\\.menu_mrp_root']", + "run": "click" + }, + { + "trigger": ".o_main_navbar", + "run": "click" + }, + { + "trigger": ".o-dropdown[data-menu-xmlid='mrp\\.menu_mrp_manufacturing']", + "run": "click" + }, + { + "trigger": ".o-dropdown-item[data-menu-xmlid='mrp\\.menu_mrp_production_action']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "drag_and_drop .o_control_panel" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".oe_title > h1", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='product_id'] .o-autocomplete--input", + "run": "edit blon" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_confirm']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='mrp_workorder\\.menu_mrp_workorder_root']", + "run": "click" + }, + { + "trigger": ".o_control_panel_actions div:nth-child(1) > button:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_mrp_display_record button:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_control_panel_actions button:nth-child(2)", + "run": "click" + }, + { + "trigger": ".o_mrp_display_record button:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_control_panel_actions button:nth-child(3)", + "run": "click" + }, + { + "trigger": ".o_mrp_display_record button:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_control_panel_actions button:nth-child(4)", + "run": "click" + }, + { + "trigger": ".o_mrp_display_record button:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_mrp_display_record button:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_home_menu", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='mrp\\.menu_mrp_root']", + "run": "click" + }, + { + "trigger": ".o-dropdown[data-menu-xmlid='mrp\\.menu_mrp_manufacturing']", + "run": "click" + }, + { + "trigger": ".o-dropdown-item[data-menu-xmlid='mrp\\.menu_mrp_production_action']", + "run": "click" + }, + { + "trigger": ".o_data_row:nth-child(4) > .o_data_cell[name='name']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_mark_done']", + "run": "click" + }, + { + "trigger": ".o-default-button", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='lot_producing_id'] .o-autocomplete--input", + "run": "edit 001" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_mark_done']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From 1e3ea4efb16438481639f1f4814ab8b2df0c8d13 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Thu, 17 Oct 2024 11:18:43 +0530 Subject: [PATCH 05/27] [ADD] art_craft: added button in knowledge so it gets redirected directly to tour --- art_craft/data/knowledge_article.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/art_craft/data/knowledge_article.xml b/art_craft/data/knowledge_article.xml index 08631b6e3a..c36280c062 100644 --- a/art_craft/data/knowledge_article.xml +++ b/art_craft/data/knowledge_article.xml @@ -54,6 +54,8 @@
  • Validate the reception for all quantities at once.

  • + Purchase Flow Tutorial +


    Flow 2: Consignment Purchase


    @@ -69,6 +71,7 @@

  • Reception time system auto took (Customization: Automated action)the consignee name in the standard field of the consignee owner or also took the third party name manually.
  • Validate the reception for all quantities at once.
  • +


    Consignment Purchase Flow Tutorial


    Flow 3: Point of sales - Regular

    From c91387f04e85b9d53cbf5b47ae10979ef409060b Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Thu, 17 Oct 2024 12:14:15 +0530 Subject: [PATCH 06/27] [ADD] automobile: added the button in the knowldege article so it redirects to the tour --- automobile/data/knowledge_article.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/automobile/data/knowledge_article.xml b/automobile/data/knowledge_article.xml index c9abed04f7..0b50ccae0d 100644 --- a/automobile/data/knowledge_article.xml +++ b/automobile/data/knowledge_article.xml @@ -35,6 +35,9 @@ 3. After confirming the PO Receipt will be generated based on the received quantity you have add that quantities in to the Done quantities and if some products have Lot & Serial no. than at the time of validating receipt you have to provide the lot & Serial No.

    +


    + Purchase Flow Tutorial +


    Flow 2: B2B Customer

    1.For the B2B Sales we will use the normal process of the sales create the quotation than select the products and sent an quotation and after the negotiation via e-mail after the negotiation you can confirmed the quotation than your @@ -49,6 +52,9 @@

    +


    + Sales Flow Tutorial +



    Flow 3: B2C Customer : Point of Sale

    1.For the B2C sales we will use the POS module customer come to the shop the user will add the products which products want to buy customer and take payment of that product.

    From cce5ce421a7e444e5266c19cb49021aae480b8ea Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Thu, 17 Oct 2024 12:48:32 +0530 Subject: [PATCH 07/27] [ADD] beverage_distributor: added button in knowledge --- beverage_distributor/data/knowledge_article.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/beverage_distributor/data/knowledge_article.xml b/beverage_distributor/data/knowledge_article.xml index 97092efd60..4157009fbe 100644 --- a/beverage_distributor/data/knowledge_article.xml +++ b/beverage_distributor/data/knowledge_article.xml @@ -90,6 +90,8 @@

    🎓 Sales


    + Sales Flow Tutorial +


    Customer Relationship Management (CRM) 🤝

    The CRM app helps you:

      @@ -99,6 +101,8 @@

    🎓 CRM


    + CRM Flow Tutorial +


    Purchase Management 🛒

    The Purchase app allows you to:

      @@ -108,6 +112,8 @@

    🎓 Purchase


    + Purchase Flow Tutorial +


    Point of Sale (POS) 💳

    For B2C sales, the POS app enables you to:

      From 38006acc295e29f9e981109a0c8aaafd4d6962ce Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Thu, 17 Oct 2024 17:28:35 +0530 Subject: [PATCH 08/27] [ADD] bookstore: customer order flow --- bookstore/__manifest__.py | 3 + bookstore/data/customer_order_tour.xml | 8 ++ bookstore/data/knowledge_article.xml | 3 + .../src/js/tours/customer_order_tour.js | 91 +++++++++++++++++++ 4 files changed, 105 insertions(+) create mode 100644 bookstore/data/customer_order_tour.xml create mode 100644 bookstore/static/src/js/tours/customer_order_tour.js diff --git a/bookstore/__manifest__.py b/bookstore/__manifest__.py index c85cbe6772..99f3accb35 100644 --- a/bookstore/__manifest__.py +++ b/bookstore/__manifest__.py @@ -38,6 +38,7 @@ 'data/knowledge_article_favorite.xml', 'data/mail_message.xml', 'data/knowledge_tour.xml', + 'data/customer_order_tour.xml', ], 'demo': [ 'demo/res_partner.xml', @@ -57,11 +58,13 @@ 'assets': { 'web.assets_backend': [ 'bookstore/static/src/js/my_tour.js', + 'bookstore/static/src/js/tours/customer_order_tour.js', ] }, "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/customer_order_tour.js", ], 'license': 'OPL-1', 'author': 'Odoo S.A.', diff --git a/bookstore/data/customer_order_tour.xml b/bookstore/data/customer_order_tour.xml new file mode 100644 index 0000000000..b9b3e78218 --- /dev/null +++ b/bookstore/data/customer_order_tour.xml @@ -0,0 +1,8 @@ + + + + customer_order_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/bookstore/data/knowledge_article.xml b/bookstore/data/knowledge_article.xml index 71a5722a85..cefdfe08f8 100644 --- a/bookstore/data/knowledge_article.xml +++ b/bookstore/data/knowledge_article.xml @@ -125,6 +125,9 @@


      +


      + Custom Order Flow Tutorial +


      3. Institutional customers


      Let's say you now need to create a quotation for "The Great Library" near your shop.

      diff --git a/bookstore/static/src/js/tours/customer_order_tour.js b/bookstore/static/src/js/tours/customer_order_tour.js new file mode 100644 index 0000000000..a2bb56e4b1 --- /dev/null +++ b/bookstore/static/src/js/tours/customer_order_tour.js @@ -0,0 +1,91 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("customer_order_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='sale\\.sale_menu_root']", + "run": "click" + }, + { + "trigger": ".o-dropdown[data-menu-xmlid='sale\\.product_menu_catalog']", + "run": "click" + }, + { + "trigger": ".o-dropdown-item[data-menu-xmlid='sale\\.menu_product_template_action']", + "run": "click" + }, + { + "trigger": ".o-kanban-button-new", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='name'] .o_input", + "run": "edit Media Burn: Ant Farm and making of image" + }, + { + "trigger": ".o_inner_group:nth-child(1) > .o_wrap_field:nth-child(1) > .o_cell:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='barcode'] > .o_input", + "run": "edit 9781941753355" + }, + { + "trigger": ".o_notebook_headers a[name='purchase']", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a", + "run": "click" + }, + { + "trigger": ".o-autocomplete--input", + "run": "edit my book di" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_form_button_save", + "run": "click" + }, + { + "trigger": ".o-dropdown[data-menu-xmlid='sale\\.sale_order_menu']", + "run": "click" + }, + { + "trigger": ".o-dropdown-item[data-menu-xmlid='sale\\.menu_sale_quotations']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit hanna" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit media burn: ant" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_confirm']", + "run": "click" + } +] +}) From 8c97b29ffc228a30afd8aea69fadc9b32ba7fd8f Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Thu, 17 Oct 2024 18:17:32 +0530 Subject: [PATCH 09/27] [ADD] cake_shop: added button in knowledge --- cake_shop/data/knowledge_article.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cake_shop/data/knowledge_article.xml b/cake_shop/data/knowledge_article.xml index fb3aa20ce3..5610110d1f 100644 --- a/cake_shop/data/knowledge_article.xml +++ b/cake_shop/data/knowledge_article.xml @@ -35,6 +35,8 @@
    • Confirm the RFQ
    • Validate the reception for all quantities at once.
    + Purchase Flow Tutorial +


    Flow 2 : Point of Sale - Regular Sale

    For the Small Products, orders & payments are done at the shop itself, and the delivery is also done at the shop itself

    To do that, start with a POS order:

    From fdd2adf7a43c7e097e18c044abad38c52e1840f6 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Fri, 18 Oct 2024 10:38:13 +0530 Subject: [PATCH 10/27] [ADD] clothing_boutique: added the button so it redirects to purchase tour --- clothing_boutique/data/knowledge_article.xml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/clothing_boutique/data/knowledge_article.xml b/clothing_boutique/data/knowledge_article.xml index 0328607183..f1a79bc22b 100644 --- a/clothing_boutique/data/knowledge_article.xml +++ b/clothing_boutique/data/knowledge_article.xml @@ -37,12 +37,9 @@
  • Send RFQ to your Pre defined Vendor.
  • Confirm the RFQ based on the received rates by the vendor.
  • -

    -
    -

    -

    -
    -

    +


    + Purchase Flow Tutorial +


    Flow 2: POS with Barcode and BOGO offer.


    From a4a6c627a652b463f8470024636248119b8bf056 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Fri, 18 Oct 2024 11:48:40 +0530 Subject: [PATCH 11/27] [ADD] coal_petroleum: added the tours as well the buttons to redirect to tours in knowledge articles --- coal_petroleum/__manifest__.py | 6 + coal_petroleum/data/knowledge_article.xml | 5 + coal_petroleum/data/purchase_flow_tour.xml | 8 + coal_petroleum/data/sale_flow_tour.xml | 8 + .../static/src/js/tours/purchase_flow_tour.js | 179 ++++++++++++++++++ .../static/src/js/tours/sale_flow_tour.js | 179 ++++++++++++++++++ 6 files changed, 385 insertions(+) create mode 100644 coal_petroleum/data/purchase_flow_tour.xml create mode 100644 coal_petroleum/data/sale_flow_tour.xml create mode 100644 coal_petroleum/static/src/js/tours/purchase_flow_tour.js create mode 100644 coal_petroleum/static/src/js/tours/sale_flow_tour.js diff --git a/coal_petroleum/__manifest__.py b/coal_petroleum/__manifest__.py index 212e0c739c..c72868cd99 100644 --- a/coal_petroleum/__manifest__.py +++ b/coal_petroleum/__manifest__.py @@ -47,6 +47,8 @@ 'data/quality_point.xml', 'data/ir_model_data.xml', 'data/knowledge_tour.xml', + 'data/purchase_flow_tour.xml', + 'data/sale_flow_tour.xml', ], 'demo': [ 'demo/res_partner.xml', @@ -63,12 +65,16 @@ 'assets': { 'web.assets_backend': [ 'coal_petroleum/static/src/js/my_tour.js', + 'coal_petroleum/static/src/js/tours/purchase_flow_tour.js', + 'coal_petroleum/static/src/js/tours/sale_flow_tour.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/purchase_flow_tour.js", + "static/src/js/tours/sale_flow_tour.js", ], 'images': ['images/main.png'], } diff --git a/coal_petroleum/data/knowledge_article.xml b/coal_petroleum/data/knowledge_article.xml index be6a39ad85..53e8754d74 100644 --- a/coal_petroleum/data/knowledge_article.xml +++ b/coal_petroleum/data/knowledge_article.xml @@ -80,6 +80,9 @@

  • Set the destination location, and store the coal where you need it
  • In addition, you can create a Landed Cost from the inventory Application.

    +


    + Purchase Flow Tutorial +


    Flow 2: Sales order > Delivery > Invoice

    The company delivers the goods to the customer but before delivering it. They run a quality check to make sure everything is up to the mark. Create an Quotation, Confirm it. Run quality checks and deliver the product.

    To do that:

    @@ -97,6 +100,8 @@
  • Create an Invoice from Sale Order based on the delivered quantities

  • + Sales Flow Tutorial +


    diff --git a/coal_petroleum/data/purchase_flow_tour.xml b/coal_petroleum/data/purchase_flow_tour.xml new file mode 100644 index 0000000000..101af32035 --- /dev/null +++ b/coal_petroleum/data/purchase_flow_tour.xml @@ -0,0 +1,8 @@ + + + + purchase_flow_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/coal_petroleum/data/sale_flow_tour.xml b/coal_petroleum/data/sale_flow_tour.xml new file mode 100644 index 0000000000..b3dd06ab4f --- /dev/null +++ b/coal_petroleum/data/sale_flow_tour.xml @@ -0,0 +1,8 @@ + + + + sale_flow_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/coal_petroleum/static/src/js/tours/purchase_flow_tour.js b/coal_petroleum/static/src/js/tours/purchase_flow_tour.js new file mode 100644 index 0000000000..19eb5e5f45 --- /dev/null +++ b/coal_petroleum/static/src/js/tours/purchase_flow_tour.js @@ -0,0 +1,179 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("purchase_flow_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='purchase\\.menu_purchase_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit ark traders" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit anthra" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": "tr:nth-child(1) > .o_matrix_input_td:nth-child(2) .o_input", + "run": "edit 200" + }, + { + "trigger": ".o_technical_modal button:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_confirm']", + "run": "click" + }, + { + "trigger": ".o_menu_toggle", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='stock\\.menu_stock_root']", + "run": "click" + }, + { + "trigger": ".o_kanban_record:nth-child(1) .oe_kanban_action[name='get_action_picking_tree_ready']", + "run": "click" + }, + { + "trigger": ".o_data_row:nth-child(7) > .o_data_cell[name='location_id']", + "run": "click" + }, + { + "trigger": ".o_data_cell:nth-child(9) > button[name='Open\\ Move']", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='lot_name']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='lot_name'] > .o_input", + "run": "edit lot 001" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_wrap_field:nth-child(4) > .o_cell:nth-child(2)", + "run": "click" + }, + { + "trigger": ".o_wrap_field:nth-child(4) > .o_cell:nth-child(2)", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_vehicle_no'] > .o_input", + "run": "edit 1280aro" + }, + { + "trigger": ".o_statusbar_buttons > button[name='check_quality']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_test_type_1'] > .o_input", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_test_type_1'] > .o_input", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_net_calorific_value'] > .o_input", + "run": "edit 10" + }, + { + "trigger": ".o_field_widget[name='x_ash_content'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_moisture_content'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_test_type'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_total_sulphur'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_flying_substance'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_hardgrave_grindability_index'] > .o_input", + "run": "edit 20" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='purchase\\.menu_purchase_root']", + "run": "click" + }, + { + "trigger": ".o_data_row:nth-child(1) > .o_data_cell[name='partner_id']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_create_invoice']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='invoice_date'] .o_input", + "run": "click" + }, + { + "trigger": ".o_date_item_cell:nth-child(31)", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_post']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + }, + { + "trigger": ".o_home_menu", + "run": "click" + } +] +}) diff --git a/coal_petroleum/static/src/js/tours/sale_flow_tour.js b/coal_petroleum/static/src/js/tours/sale_flow_tour.js new file mode 100644 index 0000000000..27073aa3d7 --- /dev/null +++ b/coal_petroleum/static/src/js/tours/sale_flow_tour.js @@ -0,0 +1,179 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("sale_flow_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='sale\\.sale_menu_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit glaencore" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit anth" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_sale_product_configurator_qty input[name='sale_quantity']", + "run": "edit 100" + }, + { + "trigger": ".o_sale_product_configurator_dialog button[name='sale_product_configurator_confirm_button']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_confirm']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='stock\\.menu_stock_root']", + "run": "click" + }, + { + "trigger": ".o_kanban_record:nth-child(4) .oe_kanban_action[name='get_action_picking_tree_ready']", + "run": "click" + }, + { + "trigger": ".o_data_row:nth-child(4) > .o_data_cell[name='name']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_vehicle_no'] > .o_input", + "run": "edit 1280aro" + }, + { + "trigger": ".o_data_cell:nth-child(9) > button[name='Open\\ Move']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='move_line_ids'] .o_data_cell[name='quantity']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='move_line_ids'] .o_field_widget[name='quantity'] > .o_input", + "run": "edit 100" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_breadcrumb li:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_kanban_record:nth-child(5) .oe_kanban_action[name='get_action_picking_tree_ready']", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='location_dest_id']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='check_quality']", + "run": "click" + }, + { + "trigger": ".o_act_window .o_form_sheet", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_test_type_1'] > .o_input", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_net_calorific_value'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_ash_content'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_moisture_content'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_test_type'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_act_window .o_inner_group:nth-child(2)", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='x_total_sulphur'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_flying_substance'] > .o_input", + "run": "edit 20" + }, + { + "trigger": ".o_field_widget[name='x_hardgrave_grindability_index'] > .o_input", + "run": "edit 20" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='sale\\.sale_menu_root']", + "run": "click" + }, + { + "trigger": ".o_data_row:nth-child(1) > .o_data_cell[name='partner_id']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='\\35 27']", + "run": "click" + }, + { + "trigger": ".o_technical_modal button[name='create_invoices']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_post']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From db21e75c3dbfa5be715fee10b5c9225f9341426c Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Fri, 18 Oct 2024 12:23:00 +0530 Subject: [PATCH 12/27] [ADD] custom_furniture: added button in knowledge to redirect towards the tour --- custom_furniture/data/knowledge_article.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/custom_furniture/data/knowledge_article.xml b/custom_furniture/data/knowledge_article.xml index 81622a9fad..87ea6aed0e 100644 --- a/custom_furniture/data/knowledge_article.xml +++ b/custom_furniture/data/knowledge_article.xml @@ -94,6 +94,8 @@

    🎓 CRM


    + CRM Flow Tutorial +


    2. Products & services 🪑


    Managing your products and their characteristics is critical in Odoo. This package includes several configs, which you can explore by navigating to the Sales App -> Products.

    @@ -145,6 +147,8 @@ These will be detailed in the following topics.


    + Sales Flow Tutorial +


    4. Purchases & inventory 📦


    To manage your inventory and everything you need to complete the order, navigate to the Inventory App.

    @@ -170,6 +174,8 @@

    My Wood Vendor: Will send you the Oak Wood Panels you need to create the tables.

    Once all your orders are confirmed, you are ready to receive them in the Inventory App. Access it and select the 4 to process button in the Receipts category. You can now validate the reception of all your orders.


    + Purchase Flow Tutorial +


    5. Project & Field Services 🦺


    From 07b1127e88e6b4f79216eb3f99da5a81586045c7 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Fri, 18 Oct 2024 14:33:21 +0530 Subject: [PATCH 13/27] [ADD] electronic_store: added the purchase with lot no --- electronic_store/__manifest__.py | 3 + electronic_store/data/knowledge_article.xml | 2 + electronic_store/data/purchase_lot_tour.xml | 8 ++ electronic_store/data/res_config_settings.xml | 1 + .../static/src/js/tours/purchase_lot_tour.js | 95 +++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 electronic_store/data/purchase_lot_tour.xml create mode 100644 electronic_store/static/src/js/tours/purchase_lot_tour.js diff --git a/electronic_store/__manifest__.py b/electronic_store/__manifest__.py index c8aaeb43f0..4f8874228a 100644 --- a/electronic_store/__manifest__.py +++ b/electronic_store/__manifest__.py @@ -53,6 +53,7 @@ 'data/mail_message.xml', 'data/ir_model_data.xml', 'data/knowledge_tour.xml', + 'data/purchase_lot_tour.xml', ], 'demo': [ 'demo/res_partner.xml', @@ -89,12 +90,14 @@ 'assets': { 'web.assets_backend': [ 'electronic_store/static/src/js/my_tour.js', + 'electronic_store/static/src/js/tours/purchase_lot_tour.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/purchase_lot_tour.js", ], 'images': ['images/main.png'], } diff --git a/electronic_store/data/knowledge_article.xml b/electronic_store/data/knowledge_article.xml index e28dac969e..147b5ba64f 100644 --- a/electronic_store/data/knowledge_article.xml +++ b/electronic_store/data/knowledge_article.xml @@ -48,6 +48,8 @@ + Purchase Flow Tutorial +


    Flow 2. Sale with serial number

    diff --git a/electronic_store/data/purchase_lot_tour.xml b/electronic_store/data/purchase_lot_tour.xml new file mode 100644 index 0000000000..c4f97f9b25 --- /dev/null +++ b/electronic_store/data/purchase_lot_tour.xml @@ -0,0 +1,8 @@ + + + + purchase_lot_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/electronic_store/data/res_config_settings.xml b/electronic_store/data/res_config_settings.xml index 457cc8c995..cba7b64ac9 100644 --- a/electronic_store/data/res_config_settings.xml +++ b/electronic_store/data/res_config_settings.xml @@ -1,6 +1,7 @@ + diff --git a/electronic_store/static/src/js/tours/purchase_lot_tour.js b/electronic_store/static/src/js/tours/purchase_lot_tour.js new file mode 100644 index 0000000000..ffe0b5eeca --- /dev/null +++ b/electronic_store/static/src/js/tours/purchase_lot_tour.js @@ -0,0 +1,95 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("purchase_lot_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='purchase\\.menu_purchase_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit lg ai" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit lg dual " + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='product_qty'] > .o_input", + "run": "edit 6" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_confirm']", + "run": "click" + }, + { + "trigger": ".oe_stat_button[name='action_view_picking']", + "run": "click" + }, + { + "trigger": ".o_data_cell:nth-child(6) > button[name='Open\\ Move']", + "run": "click" + }, + { + "trigger": ".o_widget:nth-child(1) > button", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='next_serial'] > .o_input", + "run": "edit 21" + }, + { + "trigger": ".o-overlay-item:nth-child(2) button:nth-child(1)", + "run": "click" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='stock\\.menu_stock_root']", + "run": "click" + }, + { + "trigger": ".o_kanban_record:nth-child(1) .oe_kanban_action[name='get_action_picking_tree_ready']", + "run": "click" + }, + { + "trigger": ".o_searchview_facet:nth-child(2) .o_facet_remove", + "run": "click" + }, + { + "trigger": ".o_data_row:nth-child(13) > .o_data_cell[name='partner_id']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From b4c6d0aa0e4b7973d4e2a2b2d65a9a07e4934df4 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Mon, 21 Oct 2024 11:30:56 +0530 Subject: [PATCH 14/27] [ADD] eyewear_shop: added js tour for sale order cash flow and a button in knowledge article --- eyewear_shop/__manifest__.py | 3 + eyewear_shop/data/knowledge_article.xml | 1 + eyewear_shop/data/sale_order_to_cash_tour.xml | 8 ++ .../src/js/tours/sale_order_to_cash_tour.js | 87 +++++++++++++++++++ 4 files changed, 99 insertions(+) create mode 100644 eyewear_shop/data/sale_order_to_cash_tour.xml create mode 100644 eyewear_shop/static/src/js/tours/sale_order_to_cash_tour.js diff --git a/eyewear_shop/__manifest__.py b/eyewear_shop/__manifest__.py index 532c2688f0..c6d3c74e32 100644 --- a/eyewear_shop/__manifest__.py +++ b/eyewear_shop/__manifest__.py @@ -45,6 +45,7 @@ 'data/website_theme_apply.xml', 'data/ir_model_data.xml', 'data/knowledge_tour.xml', + 'data/sale_order_to_cash_tour.xml', ], 'demo': [ 'demo/res_config_settings.xml', @@ -80,12 +81,14 @@ 'assets': { 'web.assets_backend': [ 'eyewear_shop/static/src/js/my_tour.js', + 'eyewear_shop/static/src/js/tours/sale_order_to_cash_tour.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/sale_order_to_cash_tour.js", ], 'images': ['images/main.png'], } diff --git a/eyewear_shop/data/knowledge_article.xml b/eyewear_shop/data/knowledge_article.xml index 3f2f120e3f..335b663d7c 100644 --- a/eyewear_shop/data/knowledge_article.xml +++ b/eyewear_shop/data/knowledge_article.xml @@ -50,6 +50,7 @@
  • From the Sales order, create an Invoice
  • After confirming the Invoice, click on "Register Payment"
  • + Sale Flow Tutorial

    Flow 2: Replenishment


    diff --git a/eyewear_shop/data/sale_order_to_cash_tour.xml b/eyewear_shop/data/sale_order_to_cash_tour.xml new file mode 100644 index 0000000000..e14964165d --- /dev/null +++ b/eyewear_shop/data/sale_order_to_cash_tour.xml @@ -0,0 +1,8 @@ + + + + sale_order_to_cash_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/eyewear_shop/static/src/js/tours/sale_order_to_cash_tour.js b/eyewear_shop/static/src/js/tours/sale_order_to_cash_tour.js new file mode 100644 index 0000000000..10300dcee5 --- /dev/null +++ b/eyewear_shop/static/src/js/tours/sale_order_to_cash_tour.js @@ -0,0 +1,87 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("sale_order_to_cash_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='sale\\.sale_menu_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit alyssia santon" + }, + { + "trigger": ".o-autocomplete--dropdown-item > a:contains('Alyssia Santon'), .fa-circle-o-notch", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit ray-ban rb07" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": "li:nth-child(2) > .o_sale_product_configurator_ptav_color", + "run": "click" + }, + { + "trigger": ".o_sale_product_configurator_price[name='price'] > button[name='sale_product_configurator_add_button']", + "run": "click" + }, + { + "trigger": ".o_sale_product_configurator_dialog button[name='sale_product_configurator_confirm_button']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_confirm']", + "run": "click" + }, + { + "trigger": ".o_stat_info", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_back_button > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='\\36 32']", + "run": "click" + }, + { + "trigger": ".o_technical_modal button[name='create_invoices']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_post']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_register_payment']", + "run": "click" + }, + { + "trigger": ".o_technical_modal button[name='action_create_payments']", + "run": "click" + }, + { + "trigger": ".o_menu_toggle", + "run": "click" + } +] +}) From 01d04b8f826bece82c75402db29e0a27eedc4f79 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Mon, 21 Oct 2024 12:51:33 +0530 Subject: [PATCH 15/27] [ADD] eyewear_shop: enabled some essential settings --- eyewear_shop/__manifest__.py | 2 ++ eyewear_shop/data/res_config_settings.xml | 2 ++ eyewear_shop/demo/stock_location.xml | 26 +++++++++++++++++++++++ eyewear_shop/demo/stock_warehouse.xml | 21 ++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 eyewear_shop/demo/stock_location.xml create mode 100644 eyewear_shop/demo/stock_warehouse.xml diff --git a/eyewear_shop/__manifest__.py b/eyewear_shop/__manifest__.py index c6d3c74e32..4475403c90 100644 --- a/eyewear_shop/__manifest__.py +++ b/eyewear_shop/__manifest__.py @@ -68,6 +68,8 @@ 'demo/sale_order_line.xml', 'demo/sale_order_confirm.xml', 'demo/stock_warehouse_orderpoint.xml', + 'demo/stock_location.xml', + 'demo/stock_warehouse.xml', 'demo/website_ir_attachment.xml', 'demo/website_view.xml', 'demo/website_theme_apply.xml', diff --git a/eyewear_shop/data/res_config_settings.xml b/eyewear_shop/data/res_config_settings.xml index 4a62197abf..0ecafc6a10 100644 --- a/eyewear_shop/data/res_config_settings.xml +++ b/eyewear_shop/data/res_config_settings.xml @@ -2,6 +2,8 @@ + + diff --git a/eyewear_shop/demo/stock_location.xml b/eyewear_shop/demo/stock_location.xml new file mode 100644 index 0000000000..3ea879187c --- /dev/null +++ b/eyewear_shop/demo/stock_location.xml @@ -0,0 +1,26 @@ + + + + Physical Locations + view + + + + NY + + view + + + + Texas + + view + + + Stock + + Texas/Stock + + TEXASSTOCK + + diff --git a/eyewear_shop/demo/stock_warehouse.xml b/eyewear_shop/demo/stock_warehouse.xml new file mode 100644 index 0000000000..60c387d9f7 --- /dev/null +++ b/eyewear_shop/demo/stock_warehouse.xml @@ -0,0 +1,21 @@ + + + + ViSiO - New York + + + NY + + + + + + + + + Visio - Texas + + + Texas + + From 335b92d752005f9e100368c42eba84234de5f944 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 22 Oct 2024 11:43:16 +0530 Subject: [PATCH 16/27] [ADD] eyewear_shop: added the stock route,rule and added company --- eyewear_shop/__manifest__.py | 2 + eyewear_shop/demo/res_company.xml | 25 +++++ eyewear_shop/demo/stock_route.xml | 95 ++++++++++++++++++ eyewear_shop/demo/stock_warehouse.xml | 14 +-- .../static/src/binary/res_company/1-logo | Bin 0 -> 66960 bytes .../static/src/binary/res_company/1-logo_web | Bin 0 -> 17137 bytes .../static/src/binary/res_company/2-logo | Bin 0 -> 66960 bytes .../static/src/binary/res_company/2-logo_web | Bin 0 -> 17137 bytes 8 files changed, 130 insertions(+), 6 deletions(-) create mode 100644 eyewear_shop/demo/res_company.xml create mode 100644 eyewear_shop/demo/stock_route.xml create mode 100644 eyewear_shop/static/src/binary/res_company/1-logo create mode 100644 eyewear_shop/static/src/binary/res_company/1-logo_web create mode 100644 eyewear_shop/static/src/binary/res_company/2-logo create mode 100644 eyewear_shop/static/src/binary/res_company/2-logo_web diff --git a/eyewear_shop/__manifest__.py b/eyewear_shop/__manifest__.py index 4475403c90..d04dfafabd 100644 --- a/eyewear_shop/__manifest__.py +++ b/eyewear_shop/__manifest__.py @@ -52,6 +52,7 @@ 'demo/website.xml', 'demo/stock_lot.xml', 'demo/res_partner.xml', + 'demo/res_company.xml', 'demo/loyalty_program.xml', 'demo/loyalty_rule.xml', 'demo/loyalty_reward.xml', @@ -70,6 +71,7 @@ 'demo/stock_warehouse_orderpoint.xml', 'demo/stock_location.xml', 'demo/stock_warehouse.xml', + 'demo/stock_route.xml', 'demo/website_ir_attachment.xml', 'demo/website_view.xml', 'demo/website_theme_apply.xml', diff --git a/eyewear_shop/demo/res_company.xml b/eyewear_shop/demo/res_company.xml new file mode 100644 index 0000000000..31991456f2 --- /dev/null +++ b/eyewear_shop/demo/res_company.xml @@ -0,0 +1,25 @@ + + + + Visio IN + + + + info@odoo.com + 401 & 402, Floor 4, IT Tower 3 + + + + 382007 + + + Visio - New York + + + + contact@visio.com + Street No.756 + Maple Avenue Street + + + diff --git a/eyewear_shop/demo/stock_route.xml b/eyewear_shop/demo/stock_route.xml new file mode 100644 index 0000000000..a127bf6e35 --- /dev/null +++ b/eyewear_shop/demo/stock_route.xml @@ -0,0 +1,95 @@ + + + + Visio IN - Ahmedabad: Receive in 1 step (stock) + + + + + 9 + + + Visio IN - Ahmedabad: Deliver in 1 step (ship) + + + + + 10 + + + Visio IN - Baroda: Receive in 1 step (stock) + + + + + 9 + + + Visio IN - Baroda: Deliver in 1 step (ship) + + + + + 10 + + + Visio IN - Baroda: Supply Product from Visio IN - Ahmedabad + + + + + + Visio IN - Ahmedabad: Supply Product from Visio IN - Baroda + + + + + + ViSiO - New York: Supply Product from Visio - Texas + + + + + + + ViSiO - New York: Receive in 1 step (stock) + + + + + + 9 + + + ViSiO - New York: Deliver in 1 step (ship) + + + + + + 10 + + + Visio - Texas: Receive in 1 step (stock) + + + + + 9 + + + Visio - Texas: Deliver in 1 step (ship) + + + + + 10 + + + Visio - Texas: Supply Product from visio-sunglasses - New York + + + + + + diff --git a/eyewear_shop/demo/stock_warehouse.xml b/eyewear_shop/demo/stock_warehouse.xml index 60c387d9f7..0597379d30 100644 --- a/eyewear_shop/demo/stock_warehouse.xml +++ b/eyewear_shop/demo/stock_warehouse.xml @@ -1,5 +1,12 @@ + + Visio - Texas + + + Texas + + ViSiO - New York @@ -11,11 +18,6 @@ - - - Visio - Texas - - - Texas + diff --git a/eyewear_shop/static/src/binary/res_company/1-logo b/eyewear_shop/static/src/binary/res_company/1-logo new file mode 100644 index 0000000000000000000000000000000000000000..3a044e2c741bfdc752d1aca101ffff43af21a5da GIT binary patch literal 66960 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 Rz&COkUoyLxtA8i>e*u8>>8St! literal 0 HcmV?d00001 diff --git a/eyewear_shop/static/src/binary/res_company/1-logo_web b/eyewear_shop/static/src/binary/res_company/1-logo_web new file mode 100644 index 0000000000000000000000000000000000000000..723301f49774a4c81af3554e383c05f230d36c2c GIT binary patch literal 17137 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ⅈ!Tu0Nb9889~ab0Sm5EaZ4Y z!;!1m4qp}*6Ad=m2ij(qrlGF$dXdlG%%*?Zef@~%c^y*fkT^46ygZ|6HBGArQHM7Bv z?8O0<7uAmjpnsSV=TJ{R>%6@qBG_SqM{KTnf5V)~qu=5t>=~Xy;vr5 zpqsP?{bvLtO9o{~81J&P{!O@^{xmE{aml~cdue@?bY@p3;y)QWoAM~F#C8q=D*+}K zR{dkcvHLV}Y||Jbx-2cq)o$d%V(a7`tMAhKr#aiD9!)YD(9%YslN@cs=Q2D>Zm5P_ zfJP0fJatTI8JLH2rl;Y>LeNjlaw)FEw2MC@_>-~bT+GrrsQBJU8imuXcuiJ{6f)A( zdz{|1$9PBp^+H9UZtzkIVvl45}9?-a2ctkd#z1{~~vnkL;&vQ}`>qvw|z3dyr2L#NBIVv)Na z%wu(6EhGIlM3T%s6uOg4JTu_%4YrlQ{*llxGdAHujDKE=p{7xv*nh_r;jyY14T9{? zBf8?+L}|C z3DQD(+(}9HL)*bwv_uIF8EXb3M-DDjzGI>V%k)3?&G}dcsc<2bEbtYq9|?o`4}yVF zlqEOdQkXysmYN1G9GnMvTu1g_{ulmJ$$UgTtgIgN((Qpw;uAI!wF7&kZdkodz9ZA?A0_p~z<8u65MS9Fu?NVI!Mr-L<1is%Q`@ls3&EYRY0_Y}L%uI?ZCP^Q9ZU7@TN=SDUJ`{;Xo;X;Nqdg^abBYo$=2Aom3f)mdEmEN-`b3}<&Wg{aLc%`g~1 z;)}%yU)ww`P=|YU%0$o%6=$zH0@sPK)(~CyzKx}9!<6O$7<($jKNaNEU7(i zMt4m-oE=*4gAl@VIB7KPx>_@ulIGO;8uj8TJ|u>05Y-`U8EhM-(V_bMqk(yvTy zE@8pOSBjGAizb%=vK^czdmSs-NqUm{co$T-Ak$HDE;ShTyV)YXYG^bp3fjq z8Vj<$QHvc#!O6g}lO_|vPgCF9VkVL zzt+D7MtHE+{yALF_@5$D#dhbbjA}hz6AkcZhOzmlA$?1JgCu9R-UV=M2i>|)XdIrD z$5vh1Ak~M>>@XnuN8f_j&0a_$ug83YU!{HJB(=FZ5nJ?ju3&y)19s)Qg&hq5v*m~=6{XvbM(4M4@51f zF<}*=JdHBVRy~PN`VDEF5|JtzIRvvKC9^}r*PGyE z8q+>I(n_}4cKAy+6N#2iT~5Ca29d|A*)j%RCElA^qcbJ3fNZP}HN0)}5}Ez{RaVyS zBgk(hz?@sjrhOoM{DV}xXa14{My0%n^Z`C83t=^f5{a$C)V_k^o;M$t3YLfzji1>n zi(-Yi{&R$SfJ4GX;bN;dqZg8z3xRg5FT+-21z9Bac8f$VqXF!r=?9QPou9yMg+#ZJ zJ8~E3EbDmSNn}%*5Oq9Irbk9Dqbi>jo$65&HnNInuvz`uClaoi>EdHH6N0=!17Z&| zt;0{?)*y1#9nL;_AobuQSWoiOl+KsuFPU}oKK2#J33SME z`yF?Pnw5h4j8`8Lg?Ni;2Z%yt$$4?-0!plDMgNX+XhD=El`f!aJ*`4Uxkufd5s$=B zK71HaIk$?G@Ov!y z>WpIatd$kFqZMFfEG${rb#GZFp)0j&B!>HtB*~uUCUJNckwmhjpPJGg>Xj~G+)gkZ z;UXn6yyt4d^mJb8WObq|zrEuW&6orF zB2tRQhZMZk=-V4>2l3eu4EES}%`pnY<@kiM_DOswz zD*gp+QFRGx?SlMJ-*Lj#p)SgKJZb|r&lU9B8iO;n+Hm7QW+n2M<)&U7Zdg`BKSW8;QE*VfXsm-l*Cn;sV+TBhNQz`xykzSn`*% z(5i2>VkmuFA(7;)THK-rLn_2Qm7LOkPP1`i)Ov<^GSEBkh56od=kG3CAMOa;wX<6~ zKG`Iy0%I!g(F4@G!f;P}}r31$*{ys~LY*nvQbSj}%v=`~bYS zaxg#<&xaI_l%qA)Yr2bHZR<|hU)iUa%r`3ifu?WAzRqG`Wn`k97i64PTKbD4-#S?O z4#=8Sb2{X(QN5K6m!Qjmze+I}AQ&P^B>Zc6V~9|IxK}DCHdiG~DMpx}L=>Q$q}7-H zHu*l{*pw4^F)l~x87V2=b5$~k^^&Hb$wSFJ1P1jfoVEYy37gK;o75O@ReRgupzP{W zev!E_#a|^QrYiZnqR8{`bizK%!-Qt4>y|qo;x*qh!bSliEg!d{La>;}_n6MG!$ml} z^=@I$rsF}2^S)8!P)N)QCfoyFbYSZv1iU7=RO)-z^xv8p84BST4w*aoXpDx~3O>@7 zjJ{$zl=@GikeCmP=n7A=@xL8isz~k6u3(ezCB-7&23yOx-;e3PQ@6d4DF)I3hTB9Y zIn($Ilcno#z-df{EE0%F9`~*wNfl&vlSy}DFyau(vk||nRLk_63zCwXyvxAQ59dP> z3mv0)vCSr;+@L`B0lucBnQ7)$lfZl9e|gtCuu`8N=@lGDE-0z4lgEIY*c1NY=E5%9 zK?SGy>BkYt#V6;{*e}1_@x!uF+Q`x-u*P-b%?A%!rUX_1JI}MOUP?ON_)9(D@H)ZN zdj+A}QCXiSjACvT9m17tvMQ&XKWYySgbr1LF$?p3-UEy0cWEUc)?g*W1jlm&Wi>a(# zIj_=SNgfZvP9)|l@^d|yj81I-(soT(2b@DErl7%Vn2IGGKf;G{QrY7!uY^8(yF>EH z=iLdwY(qNHvj&x(kk^=_O;QF z2#*5y>WFR}RTr1yphoW#^XYXkXIR{xR_uAB&E(Z@_F7Pt*Md%e;DhdIStQnZvFN@@B+mgoyX47V8rb5wTwp(4z_jUu zVP<{5lni({zrB2`LE+}t=*3g+cea+or}?9cpzhYta}q{AZkg8r>|c;ftVCI8r5JXj zq_U$%u`Ltwk&B+;6}fqJgcj3#+bhpSd&0~pfBX0S1LwDaEIcYvMNwfR>}W)_olG6$k9jhog6y5?fvx>qX3Agq zA=Bpp+jQ{;WH4?KRmV`sU94Ky~eg?L;8tophp)& z?)BvBT()+eeL190=A3v-w7ah@_{&2cZU=-NX|e@)XN4v&0QQmR+bbeWwRlH;rH6-=GWern@@9;!ocq!)jeq=` z!XU`Bl%YbW+cq#QSDt;fsshEOR}l$kRk2^9qI6vwoj)7T(cof$on}9B5?4zhHY8yU z>(MtTYrnU*>ZzqJNN3HDY0W5OmdkrQ7uvo6UR=tM0d!jxH+KG_P>@xmR5H!V4{eDq z?t24h8`Tw}Qe_uG{{E0YRd$?vJkaKSg3 zY}n4R24g)nIw}Z`;q*NKlBBdDR?qkT+2Pxvhdnop3>bMiG8ID4s=X0G1hhu6ke+L}1I(wP1-Q zf}|BLD50<^DcjtWSrbeYxCTBsE)$V0naK^Hg3tPqCN*YL(~}c(RVCsl%V|5ZlR(Wv z5!7HfY9KZ(%J8bX*AZ4G(OpJ!A`Ccg_Hkv$xacZ?p zW&HQT6$+XA(MGjsy?ReC#_o|vZ}ln%K~|EBW2J}Kdeu#?M1=Z{@%??_)CI*MPLean zqU0XnZB=zX(KJk8FG&2Fk3;2{ArfITSt1@KxVo_UT8=a3+4ab+55-Xuf98pqIY*&$ z5HfDPC`pjpU=GDzq}zlhDCEk`kty4>&d~b9%qMk=w65proiQx|<-O-fm`nP-t>fE5 zA=wj{q}T**>f3NVTRmO6ZD8=Sz0*v-@+% zmhrRqRivvIswsW}@vy3`e^kD;PWNjRI7hO#R``34NGSdk8=f%Th;vvICsU6S#0sP! zt#puAtY06~ur$C!wX}w4r%2mDRFrV(aKC)~7_TI4Gv^7)))a;gVq9r;KxIf{tvB?J znikftE1Rnk&z{$_OA0)7TaXGeAH)_XViZLU9yh94xs>ua9$KN(#u1vhwky=DY3w(! zM&`dm{_ZeR6i>sXg`2yFj$&J)Z}E(+F?fcBC6>`V*;+G62u|7mk`0_bSDzIvKuXNS zRm4h8cdnc_QHRIw*VvUDwyW%po*@*{0gEdB6=Y^8Kipd@_9KDI0}65T{D`Xk99aX} zKU!#m^VyX(gGRj64zG$uOB6K(44U$Q2AAuKRB~j_yWGw#dUQU`F|*SlGBZO=BBM(c zRuJhW@zxk0a7Drn6TQ1F9<+e0fa}zFlnpgEAn$amrQY0IhN(*uDMa0Z;!Y9LgET%vPUudz<2ZKVpBe>f$%a_m;rgI|QqgZ;Z{F?Jy((Wo-~ZxrUUdneeNC ziaJGnu$|L8`H)<$cIpqa1|>^8!?r{af!G+wU)mSv#uUissfoaLTPG-#t6fHQo?pOC zWe__SC@~W5GG8OhSbrM@lc5t73tM4$)583E;Q<0xN*A%th}PNs9Lqk<>fX03 zQP;{6q7o@L90?N4=6u@~CyM*BZC-q5ky1LtS|08n0#`tDM(-ufV{qq~{CTLe_p}GI z;k(835WOz4aUGBMgE85roK>Zzo^!a)RCniOgbftSIdaT$8Jy{qrjfO~cShEj7~Jgo zMlZcnauG5`ha)&V?&#nX&ye-TXNp;MZP*rbqldN*{m?5EfL+v!^d zW>=4pVcXMLUI8u^RssIAcz?0zkqj~--8a=1&SLjD$a<9^(cVc@66r8QDN0zD1Cjc@q9)bUP zh+?V9m|uU-6~>}x-0^INNr&f=xa+Q;fl-Ze78*Otk6>B>7LSO^Q>2nsXCE==lei(b zr;j`4Dh(>T_!m1}3>%~zmzGZY0ix~)_Iz$MQ?ReYlSKB$BlP&*hc;1@#4E)94aZ^3 zwJAkcOk(`!Ltc!%(<%NNCuwBCL_18NaI7kVd(qRXll=jexbo(@((mebo|a&2_6nP7AvIFRHX!4Vo+gX)z@o6!XR>f!qh*kvbPFW759rd zN3XqXM1_fz(ib)XwLDDX?Th?z>lADnD?F^-p@nzWf^TuOo3d??asb>6fXsXqODaR0 zqn1vGN4O{&;p#}GgaWIOV2juNnAF=L>Ld|pj|2Y=8qs#WFJ6}-v|z8kMI0kgJJtuS zc8}xfsIu>k zTL>*gyrpq3-t4wlRx{dxi{BkrtOYJv3zF(&On_tl*zNgaPD{B-r}h0+paL zG|2TLOSO;eT~F1GgECVcAnY)dE8cco#jDx_4kZ;gMr3vm1~3<-M`d=EmlfjX@XA-u z^fo<=>E?dGEHWrXOSb-SKc@6V?+FVLzzK_mpRQ+T$E|?2!-*e3qeM%uEdy$&33R~8 zYa>VNDN18mYdF6^yAiZv6+`6v*J%x9U)a|Z=IL&CsnE-5m2pSAGoY2()-7)iokUyf zdV>ZFCWuz;Xoe%!cxE_XMHFOJMx-d7uF!4xwG{n%5w|2_-bqm3_VOrJP^|%Fu&My9 zGWzR%C5Bv(5u@s!kn4H~fta=6#*$L1GAv_oPW!1&cyt7NFhl$M_fbJqv7zXfmM|ob z1TGa68ovb7!37~&S}kBGkNw=%$la>Xj1&)wnT`$SXlmoPJXlE_4sX74ayuc^u@2$;e{Ebs6SznIkD@Mv0~6~ zoJOBpl&*-@+Z91n^oz;Q1OHIpW_m(OgU4ksI~rTGHY*I(07k0|fo?j;6(orcY1v#t zvsJ`}C&M{Q_TD&fmAm%lFK8q`G%3-k7Z5UAwF^n=qp1!?`t5~r2esc(p!0>N)3wuz ze!VR8FH&nP%~#p5GXxQa3c0}9Y=^aNh)uba7ybb)JlTtrseS|P_wX7QXz$xKw02uA zPQ%Qx|dVW;eyArk%0K(uOg}Z%s&NsNiKGdPzU*Q zqp?B@I!Uel+BvnIWu?iy!iMZvPFHD~I739qMl+?t3UBp0tS#+hwL>|@=!G~G4(HEg z)tTQ2wi7x=Y-YrjE`hTTj*%j<&$iw!{O!rx#NfmHwjlBr|^&$z%3vuBu9!x4#&?%0o(q38@ zrO8A;(;VB`pIEy@UiK*9e*rPRGlb^Ha?rOANqVPQ7(!GS1`Hie_49f?eUx1HkyF>i zOHwU!cc!q+no=HwXQput{(F|PB3K*IE@)fgY7eYPQusRLB_->l!<<3Wt)t5c(QwRI z{}G8&QnTexZ0QODg(QtBgHKfi&tZ)$f|A1)Q+manAQCccp$+>Avi?*AV2KwZ4w2KS zgt8qjZmHP-a%G~{UwXxu@5+k#dZ_NO9EU~D!ljJ;3pE{?U3ai8T4ADwNu|qmxGT4m zdC@a70g2%njzQ1+mTPT~l=^#3$bvXB6XUl9kG{D2TR059VWTXEOlG~5XJAl*SP;0& z_8<=Wj){h(U*S4&;$m7lnR~r&#<=^8u?%(AdYRfn++Y6{b$tVkUggK$+QCw&T8k8b zNWdwneo%A3<+DGmZHzan%(xDBV-lrj9;t~&V2sRG%n^|ukn3d74}P1Mfn9p2W6XE7T)5td{#o2_0TbD!8GTaK;?*>sgQ=o9^} z`G6`)be|iY1CGiyledLV=>buQM7xmUc06!!g8}>DLn7l1{lbI%-DrjvEm1a0Z!_q+~>|7H8aT!^gqvG=L#^|(q?Hy<< zCK#I-haavx`UeIPGo&YVcjEf^WzmAHeHPrM696SEo3mywyt&7j4lw!OesBV7yzOY( zf?f3x^UbwOY#Ex)jWCDrKdG0w*9(1%qKlwHTPt(6hg-G)SCh%Yr?n? zT$^I*>7Gg%tpJ>f1O{;0F#N%hF(eGiMGgW7G=8^c^`z-T!%b;6wPG&1G9j)Ons>aidJ7)8qFFj5U34-^{)f;rt4-!X+xv0liA}ST*8x{193cGws1j>sa zWUyhw;3)yGx|gD(-`yR9Vr(2Ls>eIPxtj=%8G(kW>D-h5N}GPs#xToc3!WZ@0O~e@ zNMxj#CJc5DE9&igZ(Gh{fiMz(NL&zY<#sa1;hmd|ncH1QZGvx&>!-o($M%!BGVxiq z?*D=mp(iRPR@a5a&ZrUXFR$3s?NRod!tQ#xi5=s`%?6XFc@rc0gzZC5_foUD2g4jE z>s$}LwWsY)jb%M3Mu;NCZy0_iD&n@i0rWExZllu@T8R$|150>rY$_=h482FDv3unQ zBQYS|40e#lDFtA9u3Ko5m1ga;+fnz$XQMa{i|vYtLk;;FPmz8|ScQt8{`|GyJe*iC zN{**Arn=N=%x{mDpD0w(85tj5LE?%W{K0J^+e%+ljhx8 zfFkd+8yt-HsvmhGJN}M^eJ#&4XZR}v0-eG}PP(`1{2-fm{+aYz)h)~mcUUn=3;l#H zK404HX>#l1Q|=}58Z!{!fPtYsj6h6z4L67X1_bY65hIi=``D2;3q<+{X4uF53x7!x zi+%V|QrfB|LoFnW)8E<05{f*`_yT#q5=mZ=8#M38LqD!<;NhO`&7)!G)4nsczoh0i}D(#B;AvBregftDC*T z9sc%r?~kW*%q0%a0oyN24E}O$f=2J~>TdloWeDJ=zw0II;SsJh^iTGpx1_nYt9ldP z{lh|pjCfbdhl~_HM|naD8t>y8&mnn?{pPwH6LWQx+Nz=SIdqj%hJ=u>KJa0E?(WO9^YAoGM0+wa~4bFZhQBeIN80^gI=iP!puQ@ zQc=GvRSthqB~lg2Mr!g|2PU~7M&3*<@PY#lswTQ7G#yokxarXu4oV)^CT-Uq(b{PG=JLOZIfbcE|GgPF>^SA-C99t8QMkkwtKUek zwOL1|${?SPlqN$xlLXYtzPGBz_(pg>eulz7aM*KSkEItg=0y!St~J&P zou)D(TqO?X;e}8&bN!9_{jq(1S?xQjgJ8=qyfMBVA~P|Oxxce!j4g;KMqQ{(sUP^q zpkP@M|DY#~BoYJ490VV+SIPuncMi9Zr>I)nJ4$li0=ExkPY-E4H)Yi&l6^^#?Kg-d zr$Db%)>6+pd@eKPY;%Gq11~aK40V#GyF>2gEm(E`(qqXb13?PHMmq@1C8v@PICbS$ z2Z-u!b*g@w_5wYr%_NK+2|X+9MM!(=UW)ySuIK@Y!=+J#R`u2!*^0yd%ijtN6BG9` zaZ!Z&Y~}CE`Xych0}>1gb@R8}!0iRl#IoRuN=>N%T#3?SHlj_V!cENNY(Ro6oy^jj zScwTF);+w8UsU0S7#VCQ`m^Mg%JE!StmhY!k;I8sFRZ6aCM!@c1aXo3iD0p=VBrpbo_jfK46^3?i4vFB7D-vv z{%M8JKWE<#L!VWuM`@KcETqH!?!o-@$i)_SvtwP4<4h5ayguz(SjYM+pOe_;Qh+$m zJip7H+Z`dS{yW`5)%`jzU%uxCqxR%900MQeHKVi0HH5y%`nF_t+@k!AkWJ+%yUIDz ze?6UhtreT5Ggt7D2EfXP9av=r9%_< zWugF=yuldKKd;f?PX)FGO}fXt-e_^XtlcK=NL=OhVnEzi?AEV0jtT2QNM%94O;+hM zg|%C|=#lFFD$7dk@Mb%nLWQWf+Pb0$9Knx=00WtBb&rZ5_&#m1h_!d4u*mWj)rl&9#)0coQFid1(Jl9 z__X%N6>tR<%fxQTHaEu+QUnl)6`yWaB+LT?qI>%5F~hz&Sy4t&4m|9yJjTy_$csT1 zBs3}-l7Oc!>E+8xSI8WEVW9iw!Y-2ahW7ldQ=yHi(|oy4IGC}lUu*$iM$-XkIsr?e zPRi$_5-FZrOy`e_NlUlvZ`MPY5S1uy5dP6JC>j|jnwJW`Fh1*Bt@7B4tSYPkc1|5d zI|}xG|6(4ivfuNE1`ZG~64%stf@n@FcV*a3gp>$eAb1)1sA~t811F;?4JEAF-_37D z&{P5~0oC}s7-TJiA=TK(Y^>C#yCns!19ajy1qeOy?_*S?4Vd0hP7p0bnCFASG{~~D zE@YYQ2}m!|%CHTP3>07el5$Mv1W$untb_j3KxBrE|6KFk^YZ#>O?c8q|o){PA)Dbz{oezPdHX6yzU`-c$*XVtYq*qPF_At5rhuDpsM*y zY1~F5BM&$Uf;9bnPZDO*;cw_O>9}Y|rGdnSQb{q;d4|f7^XeSy^wgT@K)1Ws8oKe4 zre|Qph8#rKymVL|!3vdC&NT zbTz$+OQxF0a|?AVEYsI17IDU`}RyMmGUE)TnqoR!T#hH+1A%N zt{{hif(&5&jE8`c6Y1X$*KtCcvQ=wcT=Q04C z@WyMXPj0{Y(Cil#M2YU>a~s0~%8A~w01ZJVQZlffGJq)=^6kD$)99o=CUiT=R@wbU z7jE}})UZvv@$CL-_R~H6-zb=lAoH_mV1=uvIN8eqrtf(~#NKH9O={oVDg43Yi&a}w zcUTqeP7<0z?zO5xGQFslXG3sCN+jL{2`Tt}>WkIT&M{=A=|7vDz(Cr}Klb+o$-{`; z(tLG8Pb9`Jyu2ftB{-ZA5^Isym_inqI7sFWeKwD&o9cjFd2nJ(iQtxSox} z-JwQ{d?ARRT46aaT0#78i$C!?n3>iaGHi;h#6Qj#S^tHTBE&z|dmoIX=GXi+FEOUMC!o zL+IcDi6nH0;Gsa1zAX>p26=N$_%hzm7~n;f3;Xv@*e8@0D zg;#59Xb{T%U{kgZfIg)b`8>V35`F_d;~(V6xA~!(@@qN6^h__CBnOws!b0}*-*?;h zt~#x!1r#Aq$Ft`vB*eD?myZu$o)CmQz_H`mXC^5}A<_zUK}VqazBi*}7v6IP%(PVSk{3SRyQMkw%ToAA=_wXd)w%3 zJbF2A8&F&pzP?h)O7$IyYU8|)Wdu{6?b5qj7+uKEqamb_udp*3X&#MYK1_#eZkneu zrf2<-wcMQxUqHB~;uwAz%e!LIT5O78Xa z(PdwaYhCYPnGA%&`2!X;;qSJ$SWD+6&xpStXMmT))t#v%XXWoFT&T*-h^Mm8X30ES z&R36a%}vXjVP7tg?xJ)KBG*R;WRiZ{L_xQ_=EBh*#|TEoxfC|?#>p#=E{@4pe(wIk zk2d@K{*fA1^c_-h0(SVQBCJ7FEuWT&?7?uaH{WIdF6=r0UaegZ#Z5(2b8VmTCKMDS zwz8~Z8;0FO6~;AnxHbXS*4AWXE=iyhM9GI!^3vj1XYEK!RWt6(Kf2T$f~JR?;)6Ng z)B!9k?=MibTvWl2C~9hxY;A*mBfO-P+)JLKtLX7e5c`vikg)(GEAcQo_`UIXuQZ6H zVn*C*sz%?dS5P9g1#4#?yyg4T??A;^1`X`#iRwba6ijfoi0+TS1H$Rs=k$7N?O0bo zKV1T7sutak<&r65s1r$`E$x|AgSWHr_0(FCwlKh>NkY@H&n;mC!*5ieP=WVE7%Y4)n=-_xI~ z?CPs=nI`VIbxr(XF?L6l!#RcP*4_{0V-4#1*fdS$TJOIv50f96NImYRM;erhrM@PV ztadq=Qt5W)nVy%!!v?X7L*Y`Gb4W=4pCv0bcbZ<}n3B%CDay%niQ&Z9o>QXPM#f)7 z`>sgjFS}D#z9uN+a$I8w)6%HPS1z(fz1%PG;EBtp$e;)Ar7xzG_?YkXuh{Av#|JDr z`D`s+Zfr@t`YH9~>-hMGw_d8nCB5GkdD3c`pSt>PjgaY?K8-<2p6BlQDos_tRdPTj z;qs$JmjpT7%WSi)Z>~}f=!-CK`NCJc=1ybTi;x*<-VLQ(u~k#OlY?HyRyWW2b$0)@ z+Msn0cK^?uX}*8!sTX?u$AxwL*>wEcDlBJ4xL(_Kv1_G(Y;w-^zfq@Vym;B~dDOOh z9%J_Y`|Ix{R%@M+m7nvaUt#;)+H1W!U1IURSsVE&=magG7eU6FIwZr?j4Z(V#P z=S4w{i^hI?yTV>?HCUOoRZY|`YuE9m>f2+(FZ8|St9#}8LTCG3HG|uCR|#wD&RQhn zxK8Ed)Rf!15`VR{rKNLi7S`VWb?Uu}sC$RYxzf+AoBb~0B;U!j_7v;yr@{1Q6ShdH zW~4p(>)97>*4}Nj)BwDFAG+OMvlY0{o})IIV{YutQujin{rwv5%S6&R<|>wex8ifm z)oi^v6{z~@3HU~R;HG`h{(T(_&E1<`TUioyY`_j?jpP6MkDK-h@4oIc4S19VgQu&X J%Q~loCIEYIDJ}p2 literal 0 HcmV?d00001 diff --git a/eyewear_shop/static/src/binary/res_company/2-logo b/eyewear_shop/static/src/binary/res_company/2-logo new file mode 100644 index 0000000000000000000000000000000000000000..3a044e2c741bfdc752d1aca101ffff43af21a5da GIT binary patch literal 66960 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 Rz&COkUoyLxtA8i>e*u8>>8St! literal 0 HcmV?d00001 diff --git a/eyewear_shop/static/src/binary/res_company/2-logo_web b/eyewear_shop/static/src/binary/res_company/2-logo_web new file mode 100644 index 0000000000000000000000000000000000000000..723301f49774a4c81af3554e383c05f230d36c2c GIT binary patch literal 17137 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ⅈ!Tu0Nb9889~ab0Sm5EaZ4Y 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 J%Q~loCIEYIDJ}p2 literal 0 HcmV?d00001 From 43efaa490048aaff6c4da7114a0e2f436373c59c Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 22 Oct 2024 14:50:47 +0530 Subject: [PATCH 17/27] [ADD] eyewear_shop: added new warehouse for another company --- eyewear_shop/demo/res_config_settings.xml | 1 + eyewear_shop/demo/stock_route.xml | 95 +++++++++++++++++------ eyewear_shop/demo/stock_warehouse.xml | 12 +++ 3 files changed, 83 insertions(+), 25 deletions(-) diff --git a/eyewear_shop/demo/res_config_settings.xml b/eyewear_shop/demo/res_config_settings.xml index a1463baa0f..79b33a9a12 100644 --- a/eyewear_shop/demo/res_config_settings.xml +++ b/eyewear_shop/demo/res_config_settings.xml @@ -2,6 +2,7 @@ + diff --git a/eyewear_shop/demo/stock_route.xml b/eyewear_shop/demo/stock_route.xml index a127bf6e35..4b4b3fa6b6 100644 --- a/eyewear_shop/demo/stock_route.xml +++ b/eyewear_shop/demo/stock_route.xml @@ -44,31 +44,6 @@
    - - ViSiO - New York: Supply Product from Visio - Texas - - - - - - - ViSiO - New York: Receive in 1 step (stock) - - - - - - 9 - - - ViSiO - New York: Deliver in 1 step (ship) - - - - - - 10 - Visio - Texas: Receive in 1 step (stock) @@ -92,4 +67,74 @@ + + Visio IN - Baroda: Supply Product from Visio IN - Ahmedabad + + + + + + + + ViSiO - New York: Supply Product from Visio - Texas + + + + + + + Visio IN - Baroda: Supply Product from Visio IN - Ahmedabad + + + + + + Visio IN - Ahmedabad: Supply Product from Visio IN - Baroda + + + + + + Visio - Texas: Supply Product from visio-sunglasses - New York + + + + + + Buy + 5 + + + + Visio IN - Baroda: Receive in 1 step (stock) + 9 + + + + + + + Visio IN - Ahmedabad: Receive in 1 step (stock) + 9 + + + + + + + Visio IN - Baroda: Deliver in 1 step (ship) + 10 + + + + + + + Visio IN - Ahmedabad: Deliver in 1 step (ship) + 10 + + + + +
    diff --git a/eyewear_shop/demo/stock_warehouse.xml b/eyewear_shop/demo/stock_warehouse.xml index 0597379d30..103438ba3b 100644 --- a/eyewear_shop/demo/stock_warehouse.xml +++ b/eyewear_shop/demo/stock_warehouse.xml @@ -20,4 +20,16 @@
    + + Visio IN - Baroda + + 002 + + + + Visio IN - Ahmedabad + + 001 + + From d6364cc88de9beaa56ee50b3756e8f72dd5bbdee Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Wed, 23 Oct 2024 10:21:50 +0530 Subject: [PATCH 18/27] [ADD] eyewear_shop: test --- eyewear_shop/__manifest__.py | 2 - eyewear_shop/demo/stock_route.xml | 140 -------------------------- eyewear_shop/demo/stock_warehouse.xml | 35 ------- 3 files changed, 177 deletions(-) delete mode 100644 eyewear_shop/demo/stock_route.xml delete mode 100644 eyewear_shop/demo/stock_warehouse.xml diff --git a/eyewear_shop/__manifest__.py b/eyewear_shop/__manifest__.py index d04dfafabd..84d4afe4cc 100644 --- a/eyewear_shop/__manifest__.py +++ b/eyewear_shop/__manifest__.py @@ -70,8 +70,6 @@ 'demo/sale_order_confirm.xml', 'demo/stock_warehouse_orderpoint.xml', 'demo/stock_location.xml', - 'demo/stock_warehouse.xml', - 'demo/stock_route.xml', 'demo/website_ir_attachment.xml', 'demo/website_view.xml', 'demo/website_theme_apply.xml', diff --git a/eyewear_shop/demo/stock_route.xml b/eyewear_shop/demo/stock_route.xml deleted file mode 100644 index 4b4b3fa6b6..0000000000 --- a/eyewear_shop/demo/stock_route.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - Visio IN - Ahmedabad: Receive in 1 step (stock) - - - - - 9 - - - Visio IN - Ahmedabad: Deliver in 1 step (ship) - - - - - 10 - - - Visio IN - Baroda: Receive in 1 step (stock) - - - - - 9 - - - Visio IN - Baroda: Deliver in 1 step (ship) - - - - - 10 - - - Visio IN - Baroda: Supply Product from Visio IN - Ahmedabad - - - - - - Visio IN - Ahmedabad: Supply Product from Visio IN - Baroda - - - - - - Visio - Texas: Receive in 1 step (stock) - - - - - 9 - - - Visio - Texas: Deliver in 1 step (ship) - - - - - 10 - - - Visio - Texas: Supply Product from visio-sunglasses - New York - - - - - - - Visio IN - Baroda: Supply Product from Visio IN - Ahmedabad - - - - - - - - ViSiO - New York: Supply Product from Visio - Texas - - - - - - - Visio IN - Baroda: Supply Product from Visio IN - Ahmedabad - - - - - - Visio IN - Ahmedabad: Supply Product from Visio IN - Baroda - - - - - - Visio - Texas: Supply Product from visio-sunglasses - New York - - - - - - Buy - 5 - - - - Visio IN - Baroda: Receive in 1 step (stock) - 9 - - - - - - - Visio IN - Ahmedabad: Receive in 1 step (stock) - 9 - - - - - - - Visio IN - Baroda: Deliver in 1 step (ship) - 10 - - - - - - - Visio IN - Ahmedabad: Deliver in 1 step (ship) - 10 - - - - - - diff --git a/eyewear_shop/demo/stock_warehouse.xml b/eyewear_shop/demo/stock_warehouse.xml deleted file mode 100644 index 103438ba3b..0000000000 --- a/eyewear_shop/demo/stock_warehouse.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - Visio - Texas - - - Texas - - - - ViSiO - New York - - - NY - - - - - - - - - - Visio IN - Baroda - - 002 - - - - Visio IN - Ahmedabad - - 001 - - - From 3e48e0168596972a17e96aad549c495fd486b9cb Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Wed, 23 Oct 2024 11:56:38 +0530 Subject: [PATCH 19/27] [ADD] eyewear_shop: completed replenishment --- eyewear_shop/__manifest__.py | 4 ++ eyewear_shop/data/knowledge_article.xml | 4 +- eyewear_shop/demo/stock_picking_type.xml | 91 ++++++++++++++++++++++++ eyewear_shop/demo/stock_route.xml | 15 ++++ eyewear_shop/demo/stock_rule.xml | 77 ++++++++++++++++++++ eyewear_shop/demo/stock_warehouse.xml | 19 +++++ 6 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 eyewear_shop/demo/stock_picking_type.xml create mode 100644 eyewear_shop/demo/stock_route.xml create mode 100644 eyewear_shop/demo/stock_rule.xml create mode 100644 eyewear_shop/demo/stock_warehouse.xml diff --git a/eyewear_shop/__manifest__.py b/eyewear_shop/__manifest__.py index 84d4afe4cc..9370e818df 100644 --- a/eyewear_shop/__manifest__.py +++ b/eyewear_shop/__manifest__.py @@ -70,6 +70,10 @@ 'demo/sale_order_confirm.xml', 'demo/stock_warehouse_orderpoint.xml', 'demo/stock_location.xml', + 'demo/stock_warehouse.xml', + 'demo/stock_picking_type.xml', + 'demo/stock_route.xml', + 'demo/stock_rule.xml', 'demo/website_ir_attachment.xml', 'demo/website_view.xml', 'demo/website_theme_apply.xml', diff --git a/eyewear_shop/data/knowledge_article.xml b/eyewear_shop/data/knowledge_article.xml index 335b663d7c..37e84de6c4 100644 --- a/eyewear_shop/data/knowledge_article.xml +++ b/eyewear_shop/data/knowledge_article.xml @@ -64,7 +64,7 @@
      • -
      • Create Purchase quotation from Inventory > Operations > Replenishment
      • +
      • Create Purchase quotation from Inventory > Product > Replenishment
      • Confirm a Purchase quotation from Purchase > Request for quotation.
      • Go to Inventory > Operation > Receipts.
      • Validate the Receipt.
      • @@ -75,7 +75,7 @@
          • -
          • Create the Replenishment Orders from Texas Warehouse to New York Warehouse.
          • +
          • Create the Replenishment Orders from Inventory > Product > Replenish (set preferred route "supply Product from Visio - Texas")
          • From Inventory > Operation > Deliveries, validate delivery from Texas Warehouse.
          • From Inventory > Operation > Receipts validate receipts in New York Warehouse.
          diff --git a/eyewear_shop/demo/stock_picking_type.xml b/eyewear_shop/demo/stock_picking_type.xml new file mode 100644 index 0000000000..4b6175f9fa --- /dev/null +++ b/eyewear_shop/demo/stock_picking_type.xml @@ -0,0 +1,91 @@ + + + + Delivery Orders + 7 + OUT + outgoing + + + + + + + NYOUT + mandatory + no + + + Receipts + 1 + IN + incoming + + + + + + NYIN + + + Internal Transfers + 4 + INT + internal + + + + + NYINT + + + PoS Orders + 18 + POS + outgoing + + + + + + + Delivery Orders + 25 + OUT + outgoing + + + + + TEXASOUT + + + Receipts + 19 + IN + incoming + + + + + TEXASIN + + + Internal Transfers + 22 + INT + internal + + + TEXASINT + + + PoS Orders + 28 + POS + outgoing + + + + + diff --git a/eyewear_shop/demo/stock_route.xml b/eyewear_shop/demo/stock_route.xml new file mode 100644 index 0000000000..2b62e30c57 --- /dev/null +++ b/eyewear_shop/demo/stock_route.xml @@ -0,0 +1,15 @@ + + + + ViSiO - New York: Supply Product from Visio - Texas + + + + + + Visio - Texas: Supply Product from visio-sunglasses - New York + + + + + diff --git a/eyewear_shop/demo/stock_rule.xml b/eyewear_shop/demo/stock_rule.xml new file mode 100644 index 0000000000..39d8d2e88b --- /dev/null +++ b/eyewear_shop/demo/stock_rule.xml @@ -0,0 +1,77 @@ + + + + WH: Stock → Customers (MTO) + pull + + + + mts_else_mto + 5 + + + + + + Texas: Stock → Customers (MTO) + pull + + + mts_else_mto + 5 + + + + + + NY: Stock → Inter-warehouse transit (MTO) + pull + + + + mts_else_mto + 5 + + + + + + Texas: Stock → Inter-warehouse transit + pull + + + + + + + WH: Stock → Inter-warehouse transit + pull + + + + + + + + NY: Inter-warehouse transit → Stock + pull + 21 + + + make_to_order + + + + + + ViTe: Inter-warehouse transit → Stock + pull + 21 + + + make_to_order + + + + + diff --git a/eyewear_shop/demo/stock_warehouse.xml b/eyewear_shop/demo/stock_warehouse.xml new file mode 100644 index 0000000000..42b22e129d --- /dev/null +++ b/eyewear_shop/demo/stock_warehouse.xml @@ -0,0 +1,19 @@ + + + + ViSiO - New York + + NY + + + + + + + + + Visio - Texas + Texas + + + From 38421e9f4ce3b3a53af7c55c1af8036a13020ef8 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Mon, 4 Nov 2024 10:46:39 +0530 Subject: [PATCH 20/27] [ADD] fitness: added button for redirection of the tour --- fitness/data/knowledge_article.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fitness/data/knowledge_article.xml b/fitness/data/knowledge_article.xml index 55629bac7b..3080f453f3 100644 --- a/fitness/data/knowledge_article.xml +++ b/fitness/data/knowledge_article.xml @@ -60,6 +60,8 @@ Once confirmed, the quotation becomes a sales order. All quotations and sales orders are centralized in the Sales app.


          + Sales Flow Tutorial +


          🎓 Sales


          From 6073d57e565fa5107fb69c85182c5e1ec7c200e8 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Mon, 4 Nov 2024 11:05:26 +0530 Subject: [PATCH 21/27] [ADD] fitness: test --- fitness/data/knowledge_article.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fitness/data/knowledge_article.xml b/fitness/data/knowledge_article.xml index 3080f453f3..8dc22ce612 100644 --- a/fitness/data/knowledge_article.xml +++ b/fitness/data/knowledge_article.xml @@ -59,10 +59,10 @@

          Once confirmed, the quotation becomes a sales order. All quotations and sales orders are centralized in the Sales app.

          -


          - Sales Flow Tutorial -


          -

          🎓 Sales

          +


          🚀 From 0862041a257f75d02f1631f4b64116259e193519 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Mon, 4 Nov 2024 11:44:08 +0530 Subject: [PATCH 22/27] [ADD] fmcg_store: added button in knowledge for regular purchase flow --- fitness/data/knowledge_article.xml | 2 +- fmcg_store/data/knowledge_article.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fitness/data/knowledge_article.xml b/fitness/data/knowledge_article.xml index 8dc22ce612..7ecf72c14b 100644 --- a/fitness/data/knowledge_article.xml +++ b/fitness/data/knowledge_article.xml @@ -59,7 +59,7 @@

          Once confirmed, the quotation becomes a sales order. All quotations and sales orders are centralized in the Sales app.

          -
          + diff --git a/fmcg_store/data/knowledge_article.xml b/fmcg_store/data/knowledge_article.xml index 6e9f8f64a7..efe159b1db 100644 --- a/fmcg_store/data/knowledge_article.xml +++ b/fmcg_store/data/knowledge_article.xml @@ -28,6 +28,7 @@
        • Confirm the RFQ
        • Validate the reception for all quantities at once.
        + Purchase Flow Tutorial

        Flow 2: Point of sale - Regular flow with Buy one get one free product

        For the Small Products, orders & payments are made at the shop itself, and the customer picks up the products directly.


        From 5de06a709615a22cba0b2bc1c2cfc061776e7fe5 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Mon, 4 Nov 2024 12:41:16 +0530 Subject: [PATCH 23/27] [ADD] furniture_store: added tour for the custom flows and also added button for redirection from knowledge article to tour --- furniture_store/__manifest__.py | 3 + furniture_store/data/knowledge_article.xml | 3 +- .../data/order_custom_product_tour.xml | 8 ++ furniture_store/data/product_template.xml | 2 +- furniture_store/data/res_config_settings.xml | 1 + .../src/js/tours/order_custom_product_tour.js | 91 +++++++++++++++++++ 6 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 furniture_store/data/order_custom_product_tour.xml create mode 100644 furniture_store/static/src/js/tours/order_custom_product_tour.js diff --git a/furniture_store/__manifest__.py b/furniture_store/__manifest__.py index 4fe37bbad7..317bd65425 100644 --- a/furniture_store/__manifest__.py +++ b/furniture_store/__manifest__.py @@ -39,6 +39,7 @@ 'data/knowledge_article_favorite.xml', 'data/mail_message.xml', 'data/knowledge_tour.xml', + 'data/order_custom_product_tour.xml', ], 'demo': [ 'demo/res_partner.xml', @@ -65,12 +66,14 @@ 'assets': { 'web.assets_backend': [ 'furniture_store/static/src/js/my_tour.js', + 'furniture_store/static/src/js/tours/order_custom_product_tour.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/order_custom_product_tour.js", ], 'images': ['images/main.png'], } diff --git a/furniture_store/data/knowledge_article.xml b/furniture_store/data/knowledge_article.xml index 0cb7c2ce4d..3529289352 100644 --- a/furniture_store/data/knowledge_article.xml +++ b/furniture_store/data/knowledge_article.xml @@ -155,9 +155,10 @@
      - You can use this flow for a product "Bed" & as configuration is already setup. & & & & & & & + You can use this flow for a product "Bed" & as configuration is already setup.
      + Customized product Tutorial


      Flow 4 : Sell Product in KIT diff --git a/furniture_store/data/order_custom_product_tour.xml b/furniture_store/data/order_custom_product_tour.xml new file mode 100644 index 0000000000..0f8e66196c --- /dev/null +++ b/furniture_store/data/order_custom_product_tour.xml @@ -0,0 +1,8 @@ + + + + order_custom_product_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/furniture_store/data/product_template.xml b/furniture_store/data/product_template.xml index dd7a54737b..17699c0181 100644 --- a/furniture_store/data/product_template.xml +++ b/furniture_store/data/product_template.xml @@ -12,7 +12,7 @@ 699.0 - + Sofa (Single seat) diff --git a/furniture_store/data/res_config_settings.xml b/furniture_store/data/res_config_settings.xml index c7266a27fc..8a962077d7 100644 --- a/furniture_store/data/res_config_settings.xml +++ b/furniture_store/data/res_config_settings.xml @@ -7,6 +7,7 @@ + diff --git a/furniture_store/static/src/js/tours/order_custom_product_tour.js b/furniture_store/static/src/js/tours/order_custom_product_tour.js new file mode 100644 index 0000000000..c130384150 --- /dev/null +++ b/furniture_store/static/src/js/tours/order_custom_product_tour.js @@ -0,0 +1,91 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("order_custom_product_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='sale\\.sale_menu_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit excellent furnit" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit bed" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_sale_product_configurator_table li:nth-child(2) > div", + "run": "click" + }, + { + "trigger": ".o_sale_product_configurator_table li:nth-child(2) input[name='ptal-1']", + "run": "click" + }, + { + "trigger": ".o_sale_product_configurator_qty input[name='sale_quantity']", + "run": "edit 16" + }, + { + "trigger": ".o_sale_product_configurator_table td:nth-child(2)", + "run": "click" + }, + { + "trigger": ".o_sale_product_configurator_dialog button[name='sale_product_configurator_confirm_button']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_confirm']", + "run": "click" + }, + { + "trigger": ".oe_stat_button[name='action_view_purchase_orders']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_confirm']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_view_picking']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_breadcrumb li:nth-child(2) > a", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='delivery_count'] > .o_stat_text", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From 32238af099f34172cc27fcefe7cebaf1b1ffdf17 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 5 Nov 2024 11:16:23 +0530 Subject: [PATCH 24/27] [ADD] furniture_store: added tour for selling product in kit --- furniture_store/__manifest__.py | 3 + furniture_store/data/bom_tour.xml | 8 ++ furniture_store/data/knowledge_article.xml | 1 + .../static/src/js/tours/bom_tour.js | 123 ++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 furniture_store/data/bom_tour.xml create mode 100644 furniture_store/static/src/js/tours/bom_tour.js diff --git a/furniture_store/__manifest__.py b/furniture_store/__manifest__.py index 317bd65425..baeea68e5e 100644 --- a/furniture_store/__manifest__.py +++ b/furniture_store/__manifest__.py @@ -40,6 +40,7 @@ 'data/mail_message.xml', 'data/knowledge_tour.xml', 'data/order_custom_product_tour.xml', + 'data/bom_tour.xml', ], 'demo': [ 'demo/res_partner.xml', @@ -67,6 +68,7 @@ 'web.assets_backend': [ 'furniture_store/static/src/js/my_tour.js', 'furniture_store/static/src/js/tours/order_custom_product_tour.js', + 'furniture_store/static/src/js/tours/bom_tour.js', ] }, 'author': 'Odoo S.A.', @@ -74,6 +76,7 @@ "data/knowledge_article.xml", "static/src/js/my_tour.js", "static/src/js/tours/order_custom_product_tour.js", + "static/src/js/tours/bom_tour.js", ], 'images': ['images/main.png'], } diff --git a/furniture_store/data/bom_tour.xml b/furniture_store/data/bom_tour.xml new file mode 100644 index 0000000000..2057bee7cd --- /dev/null +++ b/furniture_store/data/bom_tour.xml @@ -0,0 +1,8 @@ + + + + bom_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/furniture_store/data/knowledge_article.xml b/furniture_store/data/knowledge_article.xml index 3529289352..988591ac97 100644 --- a/furniture_store/data/knowledge_article.xml +++ b/furniture_store/data/knowledge_article.xml @@ -183,6 +183,7 @@

    + Product in KIT Tutorial


    diff --git a/furniture_store/static/src/js/tours/bom_tour.js b/furniture_store/static/src/js/tours/bom_tour.js new file mode 100644 index 0000000000..2e543f6173 --- /dev/null +++ b/furniture_store/static/src/js/tours/bom_tour.js @@ -0,0 +1,123 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("bom_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='mrp\\.menu_mrp_root']", + "run": "click" + }, + { + "trigger": ".o-dropdown[data-menu-xmlid='mrp\\.menu_mrp_bom']", + "run": "click" + }, + { + "trigger": ".o-dropdown-item[data-menu-xmlid='mrp\\.menu_mrp_bom_form_action']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='product_tmpl_id'] .o-autocomplete--input", + "run": "edit sofa set (3+1" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='product_id'] .o-autocomplete--input", + "run": "edit sofa (triple " + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='product_id'] .o-autocomplete--input", + "run": "edit sofa (sing" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='product_qty'] .o_input", + "run": "edit 2" + }, + { + "trigger": ".o-mail-Thread > div", + "run": "click" + }, + { + "trigger": ".o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + }, + { + "trigger": ".o_app[data-menu-xmlid='sale\\.sale_menu_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit excellent furnit" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit sofa set (3" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_confirm']", + "run": "click" + }, + { + "trigger": ".o_button_icon", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_technical_modal button[name='send_sms']", + "run": "click" + }, + { + "trigger": ".o_back_button > a", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +}) From 141e7a138ec48cd201025ee1e90e8e34bf27309b Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 5 Nov 2024 11:44:36 +0530 Subject: [PATCH 25/27] [ADD] hardware_shop: added buttons in knowledge article --- hardware_shop/data/knowledge_article.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hardware_shop/data/knowledge_article.xml b/hardware_shop/data/knowledge_article.xml index 2708128c0c..bc743259ef 100644 --- a/hardware_shop/data/knowledge_article.xml +++ b/hardware_shop/data/knowledge_article.xml @@ -93,6 +93,7 @@

  • Add your customer, and the product they want.
  • That's it. You can now send the quotation by email, or confirm it directly for this demo purpose. This order is now placed.

    + Sale Flow Tutorial

    4. Purchase products

    Now that we have placed all these orders, it's time to purchase missing products.

    @@ -101,7 +102,8 @@
  • You just need to send the Request For Quotation by email, or to confirm it manually once the order is placed.
  • Once the order is placed, you can see that the top left button switches to "Receive products". Click it to open your receipt order and validate it to confirm that this product is back in stock.
  • - + Purchase Flow Tutorial +
    💡
    From 28506ab59b05d22fc8a41ceaeabce3edc0aa0556 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 5 Nov 2024 12:19:24 +0530 Subject: [PATCH 26/27] [ADD] odoo_partner: added button in knowledge article --- odoo_partner/data/knowledge_article.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/odoo_partner/data/knowledge_article.xml b/odoo_partner/data/knowledge_article.xml index 343c9cca8a..0e72e4c94e 100644 --- a/odoo_partner/data/knowledge_article.xml +++ b/odoo_partner/data/knowledge_article.xml @@ -65,7 +65,10 @@
    • Track your sales orders and revenue
    -

    🎓 Sales

    +


    Projects 📊

    Utilize the Project app to manage Success Packs and large implementations:

    From fb69aa07117a097cb1022941bee5433ea6a89739 Mon Sep 17 00:00:00 2001 From: Dhrumil Shah Date: Tue, 5 Nov 2024 15:12:10 +0530 Subject: [PATCH 27/27] [ADD] pharmacy_retail: added tour and buttons --- pharmacy_retail/__manifest__.py | 3 + pharmacy_retail/data/knowledge_article.xml | 4 + pharmacy_retail/data/purchase_custom_tour.xml | 8 ++ .../src/js/tours/purchase_custom_tour.js | 79 +++++++++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 pharmacy_retail/data/purchase_custom_tour.xml create mode 100644 pharmacy_retail/static/src/js/tours/purchase_custom_tour.js diff --git a/pharmacy_retail/__manifest__.py b/pharmacy_retail/__manifest__.py index 1f158d5d49..658dd6e922 100644 --- a/pharmacy_retail/__manifest__.py +++ b/pharmacy_retail/__manifest__.py @@ -47,6 +47,7 @@ 'data/ir_model_data.xml', 'data/mail_message.xml', 'data/knowledge_tour.xml', + 'data/purchase_custom_tour.xml', ], 'demo': [ 'demo/res_partner_title.xml', @@ -74,12 +75,14 @@ 'assets': { 'web.assets_backend': [ 'pharmacy_retail/static/src/js/my_tour.js', + 'pharmacy_retail/static/src/js/tours/purchase_custom_tour.js', ] }, 'author': 'Odoo S.A.', "cloc_exclude": [ "data/knowledge_article.xml", "static/src/js/my_tour.js", + "static/src/js/tours/purchase_custom_tour.js", ], 'images': ['images/main.png'], } diff --git a/pharmacy_retail/data/knowledge_article.xml b/pharmacy_retail/data/knowledge_article.xml index 9b22ff28b6..a2fcbdf975 100644 --- a/pharmacy_retail/data/knowledge_article.xml +++ b/pharmacy_retail/data/knowledge_article.xml @@ -71,6 +71,7 @@

    Lot Serial Number and Expiry Date Tracking


    When the material is received, the user can either scan the barcode or manually enter the Lot Number, Expiry Date and Quantity for "Acetratine 10 mg” product received.

    + Purchase Flow Tutorial @@ -177,6 +178,9 @@

    Create Invoice from Sales Order

    Once the delivery is validated, go back to the sales order and "Create Invoice".

    This will create an invoice based on the delivered products.

    +

    + Sale Flow Tutorial +

    The invoice will consider the discounted price due to the applied B2B customer discount.


    Flow 3: Sales B2C Customer : Point of Sale with Offers

    diff --git a/pharmacy_retail/data/purchase_custom_tour.xml b/pharmacy_retail/data/purchase_custom_tour.xml new file mode 100644 index 0000000000..b093db6a99 --- /dev/null +++ b/pharmacy_retail/data/purchase_custom_tour.xml @@ -0,0 +1,8 @@ + + + + purchase_custom_tour + 1000 + Good job! You went through all steps of this tour. + + diff --git a/pharmacy_retail/static/src/js/tours/purchase_custom_tour.js b/pharmacy_retail/static/src/js/tours/purchase_custom_tour.js new file mode 100644 index 0000000000..c123fedb91 --- /dev/null +++ b/pharmacy_retail/static/src/js/tours/purchase_custom_tour.js @@ -0,0 +1,79 @@ +import { registry } from '@web/core/registry'; + +registry.category("web_tour.tours").add("purchase_custom_tour", { + url: "/odoo", + steps: () => [ + { + "trigger": ".o_app[data-menu-xmlid='purchase\\.menu_purchase_root']", + "run": "click" + }, + { + "trigger": ".o_list_button_add", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "edit biocon" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_x2many_list_row_add > a:nth-child(1)", + "run": "click" + }, + { + "trigger": ".o_field_product_label_section_and_note_cell .o-autocomplete--input", + "run": "edit acetratine" + }, + { + "trigger": ".o-autocomplete--dropdown-item:nth-child(1) > a", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='product_qty'] > .o_input", + "run": "edit 12" + }, + { + "trigger": ".o_field_widget[name='partner_id'] .o-autocomplete--input", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_confirm']", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='action_view_picking']", + "run": "click" + }, + { + "trigger": ".o_data_cell:nth-child(5) > button[name='Open\\ Move']", + "run": "click" + }, + { + "trigger": ".o_data_cell[name='lot_name']", + "run": "click" + }, + { + "trigger": ".o_field_widget[name='lot_name'] > .o_input", + "run": "edit lot-111" + }, + { + "trigger": "footer > .o_form_button_save", + "run": "click" + }, + { + "trigger": ".o_statusbar_buttons > button[name='button_validate']", + "run": "click" + }, + { + "trigger": ".o_back_button > a", + "run": "click" + }, + { + "trigger": ".o_menu_brand", + "run": "click" + } +] +})