Skip to Content
Odoo मेन्यू
  • साइन इन करें
  • मुफ़्त में आज़माएं
  • ऐप्लिकेशन
    फ़ाइनेंस
    • अकाउंटिंग
    • इनवॉइसिंग
    • एक्सपेंस
    • स्प्रेडशीट (बीआई)
    • डॉक्यूमेंट्स
    • साइन
    सेल्स
    • सीआरएम
    • सेल्स
    • पीओएस शॉप
    • पीओएस रेस्टोरेंट
    • सब्सक्रिप्शन
    • रेंटल
    वेबसाइट
    • वेबसाइट बिल्डर
    • ई-कॉमर्स
    • ब्लॉग
    • फ़ोरम
    • लाइव चैट
    • ई-लर्निंग
    सप्लाई चेन
    • इन्वेंट्री
    • मैन्युफ़ैक्चरिंग
    • पीएलएम
    • परचेज़
    • मेंटेनेंस
    • क्वालिटी
    मानव संसाधन
    • कर्मचारी
    • रिक्रूटमेंट
    • टाइम ऑफ़
    • अप्रेज़ल
    • रेफ़रल
    • फ़्लीट
    मार्केटिंग
    • सोशल मार्केटिंग
    • ईमेल मार्केटिंग
    • एसएमएस मार्केटिंग
    • इवेंट
    • मार्केटिंग ऑटोमेशन
    • सर्वे
    सेवाएं
    • प्रोजेक्ट
    • टाइमशीट
    • फ़ील्ड सर्विस
    • हेल्पडेस्क
    • प्लानिंग
    • अपॉइंटमेंट
    प्रॉडक्टिविटी
    • डिस्कस
    • आर्टिफ़िशियल इंटेलिजेंस
    • आईओटी
    • वीओआईपी
    • नॉलेज
    • WhatsApp
    तीसरे पक्ष के ऐप्लिकेशन Odoo स्टूडियो Odoo क्लाउड प्लेटफ़ॉर्म
  • इंडस्ट्री
    रीटेल
    • बुक स्टोर
    • क्लोदिंग स्टोर
    • फ़र्नीचर स्टोर
    • ग्रॉसरी स्टोर
    • हार्डवेयर स्टोर
    • टॉय स्टोर
    फ़ूड & हॉस्पिटैलिटी
    • बार और पब
    • रेस्टोरेंट
    • फ़ास्ट फ़ूड
    • गेस्ट हाउस
    • बेवरिज डिस्ट्रीब्यूटर
    • होटल
    रियल एस्टेट
    • रियल एस्टेट एजेंसी
    • आर्किटेक्चर फ़र्म
    • कंसट्रक्शन
    • प्रॉपर्टी मैनेजमेंट
    • गार्ड्निंग
    • प्रॉपर्टी ओनर असोसिएशन
    कंसल्टिंग
    • अकाउंटिंग फ़र्म
    • Odoo पार्टनर
    • मार्केटिंग एजेंसी
    • लॉ फ़र्म
    • टैलेंट ऐक्विज़िशन
    • ऑडिट & सर्टिफ़िकेशन
    मैन्युफ़ैक्चरिंग
    • टेक्सटाइल
    • धातु
    • फ़र्नीचर
    • फ़ूड
    • ब्रुअरी
    • कॉर्पोरेट गिफ़्ट
    हेल्थ & फिटनेस
    • स्पोर्ट्स क्लब
    • आईवियर स्टोर
    • फिटनेस सेंटर
    • वेलनेस प्रैक्टिशनर
    • फॉर्मेसी
    • हेयर सैलून
    व्यापार
    • Handyman
    • आईटी हार्डवेयर & सपोर्ट
    • सोलर एनर्जी सिस्टम
    • शू मेकर
    • साफ-सफाई से जुड़ी सेवाएं
    • HVAC सर्विस
    अन्य
    • गैर-लाभकारी संगठन
    • एन्वायरमेंटल एजेंसी
    • बिलबोर्ड रेंटल
    • फ़ोटोग्राफी
    • बाइक लीजिंग
    • सॉफ़्टवेयर रीसेलर
    सभी इंडस्ट्री को ब्राउज़ करें
  • कम्यूनिटी
    सीखें
    • ट्यूटोरियल्स
    • दस्तावेज़
    • सर्टिफ़िकेशन
    • ट्रेनिंग
    • ब्लॉग
    • पॉडकास्ट
    शिक्षा को बढ़ावा दें
    • एजुकेशन प्रोग्राम
    • स्केल अप! बिजनेस गेम
    • Odoo के ऑफ़िस में आएं
    सॉफ़्टवेयर पाएं
    • डाउनलोड
    • वर्शन की तुलना करें
    • रिलीज़
    साथ मिलकर काम करें
    • Github
    • फ़ोरम
    • इवेंट
    • अनुवाद
    • पार्टनर बनें
    • पार्टनर के लिए सेवाएं
    • अपना अकाउंटिंग फ़र्म रजिस्टर करें
    • Referral Program
    सेवाएं पाएं
    • पार्टनर ढूंढें
    • अकाउंटेंट खोजें
    • सलाहकार की मदद लें
    • इम्प्लिमेंटेशन सेवाएं
    • कस्टमर रेफ़रेंस
    • सहायता
    • अपग्रेड
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    डेमो देखें
  • कीमत
  • सहायता
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
सहायता

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

Subscribe

Get notified when there's activity on this post

This question has been flagged
widgetjsmaster
2 Replies
10547 डेटा देखने का तरीका
अवतार
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
अवतार
खारिज करें
अवतार
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
अवतार
खारिज करें
अवतार
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
अवतार
खारिज करें
Enjoying the discussion? Don't just read, join in!

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

साइन अप करें
Related Posts Replies डेटा देखने का तरीका ऐक्टिविटी
Extending/Overriding public widgets.
widget js
अवतार
अवतार
1
मई 23
10069
Override Many2ManyListView under web.form_relational !! Solved
widget js
अवतार
अवतार
1
जुल॰ 16
6095
problem with bind a js widget and xml Template to add it in html dev
widget templates js
अवतार
अवतार
1
जून 23
4816
Sign App won't display PDF while custom JS widget added to the SystrayMenu
widget js sign
अवतार
0
जन॰ 21
4824
How to Inheirt SectionAndNoteListRenderer function to include my custom code Solved
widget js render
अवतार
अवतार
1
दिस॰ 19
7512
कम्यूनिटी
  • ट्यूटोरियल्स
  • दस्तावेज़
  • फ़ोरम
ओपन सोर्स
  • डाउनलोड
  • Github
  • रनबॉट
  • अनुवाद
सेवाएं
  • Odoo.sh Hosting
  • सहायता
  • अपग्रेड
  • कस्टम डेवलपमेंट्स
  • शिक्षा
  • अकाउंटेंट खोजें
  • पार्टनर ढूंढें
  • पार्टनर बनें
हमारे बारे में
  • हमारी कंपनी
  • ब्रांड ऐसेट
  • संपर्क करें
  • नौकरियां
  • इवेंट
  • पॉडकास्ट
  • ब्लॉग
  • ग्राहक
  • लीगल • गोपनीयता
  • सुरक्षा
الْعَرَبيّة 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 Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo, बिज़नेस से जुड़े ऐप्लिकेशन का एक कलेक्शन है जो ओपन सोर्स पर आधारित है. इसमें आपकी कंपनी की हर ज़रूरत के लिए ऐप्लिकेशन हैं. जैसे, सीआरएम, ई-कॉमर्स, अकाउंटिंग, इन्वेंट्री, पॉइंट ऑफ़ सेल, प्रोजेक्ट मैनेजमेंट वगैरह.

Odoo की सबसे बड़ी खासियत है कि यह इस्तेमाल करने में बहुत आसान है और यह पूरी तरह से इंटिग्रेट किया हुआ है.

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