diff --git a/addons/web/static/src/views/graph/graph_model.js b/addons/web/static/src/views/graph/graph_model.js
index 30d7018f572..87df2bac813 100644
--- a/addons/web/static/src/views/graph/graph_model.js
+++ b/addons/web/static/src/views/graph/graph_model.js
@@ -132,6 +132,7 @@ export class GraphModel extends Model {
if ("measure" in params) {
const metaData = this._buildMetaData(params);
await this._fetchDataPoints(metaData);
+ this.useSampleModel = false;
} else {
await this.race.getCurrentProm();
this.metaData = Object.assign({}, this.metaData, params);
diff --git a/addons/web/static/src/views/pivot/pivot_model.js b/addons/web/static/src/views/pivot/pivot_model.js
index 94e17f1fb44..367787b9108 100644
--- a/addons/web/static/src/views/pivot/pivot_model.js
+++ b/addons/web/static/src/views/pivot/pivot_model.js
@@ -753,6 +753,7 @@ export class PivotModel extends Model {
metaData.activeMeasures.push(fieldName);
const config = { metaData, data: this.data };
await this._loadData(config);
+ this.useSampleModel = false;
}
this.nextActiveMeasures = null;
this.notify();
diff --git a/addons/web/static/tests/views/graph_view_tests.js b/addons/web/static/tests/views/graph_view_tests.js
index 50b31b1f5ae..4c7130af549 100644
--- a/addons/web/static/tests/views/graph_view_tests.js
+++ b/addons/web/static/tests/views/graph_view_tests.js
@@ -4104,4 +4104,30 @@ QUnit.module("Views", (hooks) => {
checkDatasets(assert, graph, ["data"], { data: [SampleServer.MAIN_RECORDSET_SIZE] });
}
);
+
+ QUnit.test(
+ "no class 'o_view_sample_data' when real data are presented",
+ async function (assert) {
+ serverData.models.foo.records = [];
+ const graph = await makeView({
+ serverData,
+ type: "graph",
+ resModel: "foo",
+ arch: `
+
+
+
+ `,
+ });
+ assert.containsOnce(target, ".o_graph_view .o_view_sample_data");
+ assert.ok(getChart(graph).data.datasets.length);
+ await selectMode(target, "line");
+ assert.containsOnce(target, ".o_graph_view .o_view_sample_data");
+ assert.ok(getChart(graph).data.datasets.length);
+ await toggleMenu(target, "Measures");
+ await toggleMenuItem(target, "Revenue");
+ assert.containsNone(target, ".o_graph_view .o_view_sample_data");
+ assert.notOk(getChart(graph).data.datasets.length);
+ }
+ );
});
diff --git a/addons/web/static/tests/views/pivot_view_tests.js b/addons/web/static/tests/views/pivot_view_tests.js
index 7581bc9bba9..e91d459b70f 100644
--- a/addons/web/static/tests/views/pivot_view_tests.js
+++ b/addons/web/static/tests/views/pivot_view_tests.js
@@ -5568,4 +5568,29 @@ QUnit.module("Views", (hooks) => {
);
}
);
+
+ QUnit.test(
+ "no class 'o_view_sample_data' when real data are presented",
+ async function (assert) {
+ serverData.models.partner.fields.foo.store = true;
+ serverData.models.partner.records = [];
+ await makeView({
+ type: "pivot",
+ resModel: "partner",
+ serverData,
+ arch: `
+
+
+
+ `,
+ });
+
+ assert.containsOnce(target, ".o_pivot_view .o_view_sample_data");
+ assert.containsOnce(target, ".o_pivot_view table");
+ await toggleMenu(target, "Measures");
+ await toggleMenuItem(target, "Foo");
+ assert.containsNone(target, ".o_pivot_view .o_view_sample_data");
+ assert.containsNone(target, ".o_pivot_view table");
+ }
+ );
});