Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
9555 Переглядів

I want to show alert box on button click but getting error iam sharing all files and error.

Wizard.js

odoo.define('wizard.wizard', function (require) {

"use strict";

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

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

var Dialog = require("web.Dialog");

var Widget = require("web.Widget");

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

var _t = core._t;

var PaymentForm = Widget.extend({

initialize: function () {

alert('End');

},

events: {

'click #o_payment_form_add_pm': 'addPmEvent'

},

addPmEvent: function (ev) {

ev.stopPropagation();

ev.preventDefault();

alert('click');

},

});

alert('start');

});

Wizard.xml

<template id="assets_frontend" inherit_id="web.assets_backend" name="wizard2">

<xpath expr="." position="inside">

<script type="text/javascript" src="/wizard/static/src/js/wizard.js"></script>

</xpath>

</template>

<record model="ir.ui.view" id="wizard_form_view">

<field name="name">wizard.form</field>

<field name="model">wizard</field>

<field name="arch" type="xml">

<form string="wizard">

<header>

<button name="reload_on_button" string="call web service" class="your_class"/> <!--type="object"-->

<button id="o_payment_form_add_pm" string="js" class="btn btn-primary btn-lg mb8 mt8"/>

</header>

<sheet>

<group>

<group string="">

<field name="wizardname" > </field>

<field name="current_date" > </field>

</group>

</group>

</sheet>

</form>

</field>

</record>

ERROR

Uncaught TypeError: Cannot read property 'then' of undefined

http://localhost:8069/web/content/434-7301179/web.assets_backend.js:471

Traceback:

TypeError: Cannot read property 'then' of undefined

at Class.execute_action (http://localhost:8069/web/content/434-7301179/web.assets_backend.js:471:684)

at Class.<anonymous> (http://localhost:8069/web/content/365-3f13533/web.assets_common.js:3908:11)

at Class.trigger (http://localhost:8069/web/content/365-3f13533/web.assets_common.js:3906:180)

at Class._trigger_up (http://localhost:8069/web/content/365-3f13533/web.assets_common.js:3912:365)

at Class._trigger_up (http://localhost:8069/web/content/365-3f13533/web.assets_common.js:3912:449)

at Class.trigger_up (http://localhost:8069/web/content/365-3f13533/web.assets_common.js:3912:280)

at Class._callButtonAction (http://localhost:8069/web/content/434-7301179/web.assets_backend.js:1263:1694)

at Object.<anonymous> (http://localhost:8069/web/content/434-7301179/web.assets_backend.js:1363:992)

at Object.<anonymous> (http://localhost:8069/web/content/365-3f13533/web.assets_common.js:802:681)

at fire (http://localhost:8069/web/content/365-3f13533/web.assets_common.js:796:299)

Аватар
Відмінити
Найкраща відповідь

hi! Have you found any solution?

Аватар
Відмінити
Найкраща відповідь

Not sure if it is the issue, but it strikes me as odd. For the Widget class it uses the function init, not initialize. You should also be calling super whenever extending a function on a class you are extending. Adding the following in the new init function should help:

this._super.apply(this, arguments);

Also, whenever debugging JavaScript use 'Developer mode with Assets' as it really helps pinpoint in which JS file the error occurred.

Regards,
Jake Robinson
Dionysus Software

Аватар
Відмінити