1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
odoo.define('sale.tour', function(require) {
"use strict";
var core = require('web.core');
var tour = require('web_tour.tour');
var _t = core._t;
tour.register("sale_tour", {
url: "/web",
rainbowMan: false,
sequence: 20,
}, [tour.stepUtils.showAppsMenuItem(), {
trigger: ".o_app[data-menu-xmlid='sale.sale_menu_root']",
content: _t("Open Sales app to send your first quotation in a few clicks."),
position: "right",
edition: "community"
}, {
trigger: ".o_app[data-menu-xmlid='sale.sale_menu_root']",
content: _t("Open Sales app to send your first quotation in a few clicks."),
position: "bottom",
edition: "enterprise"
}, {
trigger: 'a.o_onboarding_step_action.btn[data-method=action_open_base_onboarding_company]',
extra_trigger: ".o_sale_order",
content: _t("Start by checking your company's data."),
position: "bottom",
}, {
trigger: ".modal-content button[name='action_save_onboarding_company_step']",
content: _t("Looks good. Let's continue."),
position: "left",
}, {
trigger: 'a.o_onboarding_step_action.btn[data-method=action_open_base_document_layout]',
extra_trigger: ".o_sale_order",
content: _t("Customize your quotes and orders."),
position: "bottom",
}, {
trigger: "button[name='document_layout_save']",
extra_trigger: ".o_sale_order",
content: _t("Good job, let's continue."),
position: "top", // dot NOT move to bottom, it would cause a resize flicker
}, {
trigger: 'a.o_onboarding_step_action.btn[data-method=action_open_sale_onboarding_payment_acquirer]',
extra_trigger: ".o_sale_order",
content: _t("To speed up order confirmation, we can activate electronic signatures or payments."),
position: "bottom",
}, {
trigger: "button[name='add_payment_methods']",
extra_trigger: ".o_sale_order",
content: _t("Lets keep electronic signature for now."),
position: "bottom",
}, {
trigger: 'a.o_onboarding_step_action.btn[data-method=action_open_sale_onboarding_sample_quotation]',
extra_trigger: ".o_sale_order",
content: _t("Now, we'll create a sample quote."),
position: "bottom",
}]);
tour.register("sale_quote_tour", {
url: "/web#action=sale.action_quotations_with_onboarding&view_type=form",
rainbowMan: true,
rainbowManMessage: "<b>Congratulations</b>, your first quotation is sent!<br>Check your email to validate the quote.",
sequence: 30,
}, [{
trigger: ".o_form_editable .o_field_many2one[name='partner_id']",
extra_trigger: ".o_sale_order",
content: _t("Write a company name to create one, or see suggestions."),
position: "bottom",
run: function (actions) {
actions.text("Agrolait", this.$anchor.find("input"));
},
}, {
trigger: ".ui-menu-item > a",
auto: true,
in_modal: false,
}, {
trigger: ".o_field_x2many_list_row_add > a",
extra_trigger: ".o_field_many2one[name='partner_id'] .o_external_button",
content: _t("Click here to add some products or services to your quotation."),
position: "bottom",
}, {
trigger: ".o_field_widget[name='product_id'], .o_field_widget[name='product_template_id']",
extra_trigger: ".o_sale_order",
content: _t("Select a product, or create a new one on the fly."),
position: "right",
run: function (actions) {
var $input = this.$anchor.find("input");
actions.text("DESK0001", $input.length === 0 ? this.$anchor : $input);
// fake keydown to trigger search
var keyDownEvent = jQuery.Event("keydown");
keyDownEvent.which = 42;
this.$anchor.trigger(keyDownEvent);
var $descriptionElement = $(".o_form_editable textarea[name='name']");
// when description changes, we know the product has been created
$descriptionElement.change(function () {
$descriptionElement.addClass("product_creation_success");
});
},
id: "product_selection_step"
}, {
trigger: ".ui-menu.ui-widget .ui-menu-item a:contains('DESK0001')",
auto: true,
}, {
trigger: ".o_form_editable textarea[name='name'].product_creation_success",
auto: true,
run: function () {
} // wait for product creation
}, {
trigger: ".o_field_widget[name='price_unit'] ",
extra_trigger: ".o_sale_order",
content: _t("<b>Set a price</b>."),
position: "right",
run: "text 10.0"
},
...tour.stepUtils.statusbarButtonsSteps("Send by Email", _t("<b>Send the quote</b> to yourself and check what the customer will receive."), ".o_statusbar_buttons button[name='action_quotation_send']"),
{
trigger: ".modal-footer button.btn-primary",
auto: true,
}, {
trigger: ".modal-footer button[name='action_send_mail']",
extra_trigger: ".modal-footer button[name='action_send_mail']",
content: _t("Let's send the quote."),
position: "bottom",
}]);
});
|