Skip to Content
Odoo Menu
  • Prisijungti
  • Išbandykite nemokamai
  • Programėlės
    Finansai
    • Apskaita
    • Pateikimas apmokėjimui
    • Sąnaudos
    • Skaičiuoklė (BI)
    • Dokumentai
    • Pasirašymas
    Pardavimai
    • CRM
    • Pardavimai
    • Kasų sistema - Parduotuvė
    • Kasų sistema - Restoranas
    • Prenumeratos
    • Nuoma
    Svetainės
    • Svetainių kūrėjimo įrankis
    • El. Prekyba
    • Internetinis Tinklaraštis
    • Forumas
    • Tiesioginis pokalbis
    • eMokymasis
    Tiekimo grandinė
    • Atsarga
    • Gamyba
    • PLM
    • Įsigijimai
    • Priežiūra
    • Kokybė
    Žmogaus ištekliai
    • Darbuotojai
    • Įdarbinimas
    • Atostogos
    • Įvertinimai
    • Rekomendacijos
    • Transporto priemonės
    Rinkodara
    • Socialinė rinkodara
    • Rinkodara el. paštu
    • SMS rinkodara
    • Renginiai
    • Rinkodaros automatizavimas
    • Apklausos
    Paslaugos
    • Projektas
    • Darbo laiko žiniaraščiai
    • Priežiūros tarnyba
    • Pagalbos tarnyba
    • Planavimas
    • Rezervacijos
    Produktyvumas
    • Diskucija
    • Patvirtinimai
    • IoT
    • VoIP
    • Žinių biblioteka
    • WhatsApp
    Trečiųjų šalių programos Odoo Studija Odoo debesijos platforma
  • Pramonės šakos
    Mažmeninė prekyba
    • Knygynas
    • Drabužių parduotuvė
    • Baldų parduotuvė
    • Maisto prekių parduotuvė
    • Techninės įrangos parduotuvė
    • Žaislų parduotuvė
    Food & Hospitality
    • Barai ir pub'ai
    • Restoranas
    • Greitasis maistas
    • Guest House
    • Gėrimų platintojas
    • Hotel
    Nekilnojamasis turtas
    • Real Estate Agency
    • Architektūros įmonė
    • Konstrukcija
    • Estate Managament
    • Sodininkauti
    • Turto savininkų asociacija
    Konsultavimas
    • Accounting Firm
    • Odoo Partneris
    • Marketing Agency
    • Teisinė firma
    • Talentų paieška
    • Auditai & sertifikavimas
    Gamyba
    • Textile
    • Metal
    • Furnitures
    • Maistas
    • Brewery
    • Įmonių dovanos
    Sveikata & Fitnesas
    • Sporto klubas
    • Akinių parduotuvė
    • Fitneso Centras
    • Sveikatos praktikai
    • Vaistinė
    • Kirpėjas
    Trades
    • Handyman
    • IT įranga ir palaikymas
    • Saulės energijos sistemos
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Kiti
    • Nonprofit Organization
    • Aplinkos agentūra
    • Reklaminių stendų nuoma
    • Fotografavimas
    • Dviračių nuoma
    • Programinės įrangos perpardavėjas
    Browse all Industries
  • Bendrija
    Mokykitės
    • Mokomosios medžiagos
    • Dokumentacija
    • Sertifikatai
    • Mokymai
    • Internetinis Tinklaraštis
    • Tinklalaidės
    Skatinkite švietinimą
    • Švietimo programa
    • Scale Up! Verslo žaidimas
    • Aplankykite Odoo
    Gaukite programinę įrangą
    • Atsisiųsti
    • Palyginkite versijas
    • Leidimai
    Bendradarbiauti
    • Github
    • Forumas
    • Renginiai
    • Vertimai
    • Tapkite partneriu
    • Services for Partners
    • Registruokite jūsų apskaitos įmonę
    Gaukite paslaugas
    • Susiraskite partnerį
    • Susirask buhalterį
    • Susitikti su konsultantu
    • Diegimo paslaugos
    • Klientų rekomendavimas
    • Palaikymas
    • Atnaujinimai
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Gaukite demo
  • Kainodara
  • Pagalba

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Apskaita
  • Atsarga
  • PoS
  • Projektas
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
Pagalba

Error: "Could not find client action MyWidget" in widget [Odoo 12.0alpha1+e]

Prenumeruoti

Get notified when there's activity on this post

This question has been flagged
widgetjsmaster
2 Replies
9395 Rodiniai
Portretas
Haresh Kansara (hak)

Hello Everyone,

i have created one JS widget and it is properly working on odoo 11, but in master[Odoo 12.0alpha1+e] it's show me a console error "Could not find client action MyWidget".

Bellow are the files. Please help me.

Thanks in advance..

(1) file entry using template:

<template id="qunit_suite" name="tournament widget tests" inherit_id="web.qunit_suite">
            <xpath expr="//t[@t-set='head']" position="inside">
                <script type="text/javascript" src="/tournament/static/tests/widget_tests.js"></script>
            </xpath>
        </template>

(2) manifest entry:

'qweb': [
        'static/src/xml/widget.xml',
    ],

(3) tournament/static/src/js/widget.js :
odoo.define('tournament.widget', function(require) {
    "use strict";
    var Widget = require('web.Widget');
    var core = require('web.core');
    
    var myWidget = Widget.extend({

        'template' : "Mytemplate",        
        events: {
            'click .class_ex' : 'minus',
            'click .class_ex1' : 'plus',
            'click .class_ex3' : 'startt',
            'click .class_ex4' : 'deleterow',
            'click .class_ex5' : 'restart',
            'click .class_ex6' : 'stop',
            'click .class_ex7' : 'addrow',
        },
        init: function () {
        this._super.apply(this, arguments);
        this.myTimer = 0;
        },
        plus:function(){
        var $input = this.$el.find("#textbox")
            $input.val(parseInt($input.val())+1)
        },
        minus:function(){ 
        var $input = this.$el.find("#textbox")
      $input.val(parseInt($input.val())-1)
        },
        startt:function(event){
        var $input = this.$el.find("#textbox");
    this.myTimer = setInterval(setTime,1000);
    function setTime(){
        $input.val(parseInt($input.val())+1)
    }
        this.$el.find("#startt").hide();
            this.$el.find("#plus").hide();
            this.$el.find("#minus").hide();
            this.$el.find("#stop").removeClass("hide");
    this.$el.find("#restart").removeClass('hide');
        },
        restart:function(){
            clearInterval(this.myTimer);
            var $input = this.$el.find("#textbox");
            $input.val(0)
            this.$el.find("#restart").addClass("hide");
            this.$el.find("#plus").show();
            this.$el.find("#minus").show();
            this.$el.find("#startt").show();
            this.$el.find("#stop").addClass("hide");
        },
        stop:function(){
    clearInterval(this.myTimer);
    this.$el.find("#stop").addClass("hide");
            this.$el.find("#startt").show();
        },
        addrow:function(event){
        var temp = new myWidget();
    temp.insertAfter($("#coppy"));
        },
        deleterow:function(event){
    this.destroy();
        },
    });
var myWidget1 = Widget.extend({
'template' : "Mytemplate1",
events: {
            'click .class_ex7' : 'addrow',
        },
        addrow:function(event){
        var abc = new myWidget();
        abc.insertAfter($("#mainWidget"));
        },
})
    
    core.action_registry.add('MyWidget', myWidget1);
    return myWidget1;
});


(4) tournament/static/src/xml/widget.xml :


<?xml version="1.0" encoding="UTF-8"?>

<templates>
    <t t-name="Mytemplate">
        <div id="mainn">
        <center style="border:3px solid #e5e3e3;border-radius:10px;padding:10px;margin-bottom:10px;">
            <input class="form-control" id="textbox" placeholder="Enter Number" value="0" /><br />

            <button name="plus" id="plus" class="btn btn-primary class_ex1">+</button>
                <button name="minus" id="minus" class="btn btn-primary class_ex" >-</button>
                <button name="startt" id="startt" class="btn btn-primary class_ex3">Start</button>
                <button name="stop" id="stop" class="hide btn btn-primary class_ex6">Stop</button>
                <button name="restart" id="restart" class="hide btn btn-primary class_ex5">Restart</button>
                <button name="delete" id="delete" class="btn btn-primary class_ex4">Delete</button>
        </center>
        </div>
        <div id="coppy">
        </div>
    </t>

    <t t-name="Mytemplate1">
        <div id="mainWidget" style="margin-bottom:10px;">
            <center>
                 <button name="addrow" id="addrow" class="btn btn-primary class_ex7">Add Row</button>
            </center>
        </div>
    </t>
</templates>

(5) view file entry:

<record model="ir.actions.client" id="widget_action">
        <field name="name">Widget</field>
        <field name="tag">MyWidget</field>
        <field name="target">new</field>
    </record>

<menuitem name="Widget" 
        id="Widget_menu" 
        parent="tournament.tournament_root_menu" 
        action="widget_action" />
0
Portretas
Atmesti
Portretas
Mohd Shoaib Sayyed
Best Answer

Hi, 

Just add below changes

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

Instead of 
 var myWidget = Widget.extend({
})


Use 

 var myWidget = AbstractAction.extend({

})

Hope this will solve your issue.

1
Portretas
Atmesti
Portretas
Pavel Daniel Lopez Castillo
Best Answer

I have the same problem 

**********************Mi archivo JS*******************


odoo.define('df_hc_acuifero.graficoClientAction', function (require) {
"use strict";

var AbstractAction = require('web.AbstractAction');
var ControlPanelMixin = require('web.ControlPanelMixin');
var core = require('web.core');
var Widget = require('web.Widget');
var _t = core._t;
var QWeb = core.qweb;




var Grafico_acuiferoAction = AbstractAction.extend(ControlPanelMixin, {
template: "df_hc_acuifero_grafico_acuifero_view",

init: function (parent, context) {
this._super(parent, context);
},

start: function () {
alert("pavel");
},


});

core.action_registry.add('grafico_acuifero_view', Grafico_acuiferoAction);
return {
Grafico_acuiferoAction: Grafico_acuiferoAction,
};
});
***********Mi Template****************
<?xml version="1.0" encoding ="UTF-8"?>

<templates xml:space="preserve">
<div t-name="df_hc_acuifero_grafico_acuifero_view" >
<div id="tabstrip">
<div>
<div/>
</div>
</div>
</div>
</templates>

********* Mi view ******************
<?xml version="1.0" encoding="UTF-8"?>

<odoo>
<data>
<template id="assets_backend" name="account assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/df_hc_acuifero/static/src/js/df_hc_acuifero_src.js"/>
</xpath>
</template>


<record id="df_action_grafico_acuifero" model="ir.actions.client">
<field name="name">GCBAS</field>
<field name="tag">grafico_acuifero_view</field>
</record>
</data>
</odoo>

****** Mi manifest  **********
{
'name': "acuifero",

'summary': """
Short (1 phrase/line) summary of the module's purpose, used as
subtitle on modules listing or apps.openerp.com""",

'description': """
Long description of module's purpose
""",

'author': "My Company",
'website': "http://www.yourcompany.com",

# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/10.0/odoo/addons/base/module/module_data.xml
# for the full list
'category': 'Uncategorized',
'version': '0.1',

# any module necessary for this one to work correctly

'depends': ['base','df_hc_embalse','df_hc_rain_base'],

# always loaded
'data': [
'security/df_hc_acuifero_security.xml',
'security/ir.model.access.csv',
'views/views.xml',
'views/templates.xml',
'views/df_cuenca_subterranea_inherit_view.xml',
'views/df_pozo_view.xml',
'views/df_nivel_anual_pozo_view.xml',
'views/df_probabilidad_cuenca_view.xml',
'views/df_probabilidad_sector_view.xml',
'views/df_probabilidad_bloque_view.xml',
'views/df_probabilidad_pozo_view.xml',
# # 'views/df_zona_hidrografica_pluviometro_view.xml',
# # 'views/df_tramo_view.xml',
'views/df_sector_hidrologico_view.xml',
'views/df_explotacion_real_view.xml',
'views/df_explotacion_anual_pozo_view.xml',
'views/df_grafico_comportamiento_acuifero.xml',
'wizard/df_importar_pozos.xml',
'wizard/df_importar_niveles_pozos.xml',
'wizard/df_importar_explotacion.xml',
'wizard/df_configurar_grafica_gcbas.xml',
'report/df_report_cota_agua_view.xml',
'report/report_view.xml',
'report/df_hc_cota_agua.xml',
'views/df_acuerifero_main_view.xml',
],
# only loaded in demonstration mode
'demo': [
'demo/demo.xml',
],
'qweb' : ['static/src/xml/grafico_comportamiento_acuifero.xml'],
'application': True
}


0
Portretas
Atmesti
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Registracija
Related Posts Replies Rodiniai Veikla
Extending/Overriding public widgets.
widget js
Portretas
Portretas
1
geg. 23
8627
Override Many2ManyListView under web.form_relational !! Solved
widget js
Portretas
Portretas
1
liep. 16
5024
problem with bind a js widget and xml Template to add it in html dev
widget templates js
Portretas
Portretas
1
birž. 23
3884
Sign App won't display PDF while custom JS widget added to the SystrayMenu
widget js sign
Portretas
0
saus. 21
3637
How to Inheirt SectionAndNoteListRenderer function to include my custom code Solved
widget js render
Portretas
Portretas
1
gruod. 19
6569
Bendrija
  • Mokomosios medžiagos
  • Dokumentacija
  • Forumas
Atvirasis kodas
  • Atsisiųsti
  • Github
  • Runbot
  • Vertimai
Paslaugos
  • Odoo.sh talpinimas
  • Palaikymas
  • Atnaujinti
  • Pritaikytas programavimo kūrimas
  • Švietimas
  • Susirask buhalterį
  • Susiraskite partnerį
  • Tapkite partneriu
Apie mus
  • Mūsų įmonė
  • Prekės ženklo turtas
  • Susisiekite su mumis
  • Darbo pasiūlymai
  • Renginiai
  • Tinklalaidės
  • Internetinis Tinklaraštis
  • Klientai
  • Teisinis • Privatumas
  • Saugumas
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo yra atvirojo kodo verslo programų rinkinys, kuris apima visas įmonės poreikius: CRM, El. Prekybą, Apskaitą, Atsargų, Kasų sistemą, Projektų valdymą ir kt.

Unikali Odoo vertės pasiūla – būti tuo pačiu metu labai lengvai naudojama ir visiškai integruota sistema.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now