Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
1 Responder
1756 Visualizações

In odoo17 i written code in javascript which actually fetch the gps coordinates from user and then call backend python method which use this coordinates to give route from user's location to task location.


For that when i define 

odoo.define('industry_fsm.user_location', function (require) {
'use strict';

var rpc = require('web.rpc');


I'm getting error and even my odoo page not loading. when i inspect can see below error:

Uncaught Error: Dependencies should be defined by an array

then when i use [], before function,

odoo.define('industry_fsm.user_location',[] function (require) {
'use strict';

var rpc = require('web.rpc');
    function callPythonMethod(param1, param2) {
        return rpc.query({
​model: 'project.task',
            method: 'action_fsm_navigate',
            args: [param1, param2],
        }).then(function (result) {
            console.log(result); // Handle the result from the Python method
        }).catch(function (error) {
            console.error('Error:', error);
        });
    }


The page is loading properly but when the javascript method which actually call the python method is trigger I got the below error:


UncaughtClientError > TypeError


Uncaught Javascript Error > Cannot read properties of undefined (reading 'query')


TypeError: Cannot read properties of undefined (reading 'query')



Avatar
Cancelar
Autor Melhor resposta

I got the answer that in Odoo17, Instead of using the custom AMD module system (odoo.define and require), Odoo now encourages using the ES6 import syntax, which is widely adopted across the JavaScript ecosystem.

Example Code:



/** @odoo-module **/

import { jsonrpc } from "@web/core/network/rpc_service";

async function callPythonMethod(user_lat, user_lon) {
    alert("callPythonMethod function called");
    try {
        const result = await jsonrpc('/controller_path',
Avatar
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
0
set. 24
843
0
nov. 24
1199
2
jun. 19
6890
3
out. 18
14485
1
jun. 25
3588