[IMP] web: orm service: add webReadGroup function
Before this commit readGroup was actually calling web_read_group. With this commit, readGroup calls read_group, and webReadGroup calls web_read_group, as expected. Part-of: odoo/odoo#73311
This commit is contained in:
committed by
Aaron Bohy
parent
c064eb0681
commit
205bb172ba
@@ -129,9 +129,9 @@ export class ORM {
|
||||
}
|
||||
|
||||
readGroup(model, domain, fields, groupby, options = {}, ctx = {}) {
|
||||
validateArray("domain", domain);
|
||||
validatePrimitiveList("fields", "string", fields);
|
||||
validatePrimitiveList("groupby", "string", groupby);
|
||||
validateArray("domain", domain);
|
||||
const kwargs = {
|
||||
domain,
|
||||
groupby,
|
||||
@@ -139,7 +139,7 @@ export class ORM {
|
||||
context: ctx,
|
||||
};
|
||||
assignOptions(kwargs, options, ["lazy", "offset", "orderby", "limit"]);
|
||||
return this.call(model, "web_read_group", [], kwargs);
|
||||
return this.call(model, "read_group", [], kwargs);
|
||||
}
|
||||
|
||||
search(model, domain, options = {}, ctx = {}) {
|
||||
@@ -169,6 +169,20 @@ export class ORM {
|
||||
return this.call(model, "unlink", [ids], { context: ctx });
|
||||
}
|
||||
|
||||
webReadGroup(model, domain, fields, groupby, options = {}, ctx = {}) {
|
||||
validateArray("domain", domain);
|
||||
validatePrimitiveList("fields", "string", fields);
|
||||
validatePrimitiveList("groupby", "string", groupby);
|
||||
const kwargs = {
|
||||
domain,
|
||||
groupby,
|
||||
fields,
|
||||
context: ctx,
|
||||
};
|
||||
assignOptions(kwargs, options, ["lazy", "offset", "orderby", "limit"]);
|
||||
return this.call(model, "web_read_group", [], kwargs);
|
||||
}
|
||||
|
||||
webSearchRead(model, domain, fields, options = {}, ctx = {}) {
|
||||
validateArray("domain", domain);
|
||||
validatePrimitiveList("fields", "string", fields);
|
||||
|
||||
@@ -155,11 +155,11 @@ QUnit.test("write method", async (assert) => {
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("readGroup method", async (assert) => {
|
||||
QUnit.test("webReadGroup method", async (assert) => {
|
||||
const [query, rpc] = makeFakeRPC();
|
||||
serviceRegistry.add("rpc", rpc);
|
||||
const env = await makeTestEnv();
|
||||
await env.services.orm.readGroup(
|
||||
await env.services.orm.webReadGroup(
|
||||
"sale.order",
|
||||
[["user_id", "=", 2]],
|
||||
["amount_total:sum"],
|
||||
@@ -185,6 +185,36 @@ QUnit.test("readGroup method", async (assert) => {
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("readGroup method", async (assert) => {
|
||||
const [query, rpc] = makeFakeRPC();
|
||||
serviceRegistry.add("rpc", rpc);
|
||||
const env = await makeTestEnv();
|
||||
await env.services.orm.readGroup(
|
||||
"sale.order",
|
||||
[["user_id", "=", 2]],
|
||||
["amount_total:sum"],
|
||||
["date_order"],
|
||||
{ offset: 1 }
|
||||
);
|
||||
assert.strictEqual(query.route, "/web/dataset/call_kw/sale.order/read_group");
|
||||
assert.deepEqual(query.params, {
|
||||
args: [],
|
||||
kwargs: {
|
||||
domain: [["user_id", "=", 2]],
|
||||
fields: ["amount_total:sum"],
|
||||
groupby: ["date_order"],
|
||||
context: {
|
||||
lang: "en",
|
||||
uid: 7,
|
||||
tz: "taht",
|
||||
},
|
||||
offset: 1,
|
||||
},
|
||||
method: "read_group",
|
||||
model: "sale.order",
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("searchRead method", async (assert) => {
|
||||
const [query, rpc] = makeFakeRPC();
|
||||
serviceRegistry.add("rpc", rpc);
|
||||
|
||||
Reference in New Issue
Block a user