Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
4614 Prikazi

I want to add one more event in "mail.Chatter" template(mail/static/src/js/chatter.js). so I extend the "mail.Chatter" like below

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

"use strict";

var Chatter = require('mail.Chatter');

console.log('Chatter', Chatter)

var Chatter_Extend = Chatter.Chatter.extend({

     init: function (parent, dataset, options) {

          this._super(parent, options);

          this.events = _.extend(this.events, {

                  "click .o_composer_button_chatter_link": "on_open_o_composer_button_chatter",

          });

     },

});

});


But from the console, i got some error. Please check below.

Chatter function Class(){if(this.constructor!==OdooClass){throw new Error("You can only instanciate objects with the 'new' operator");}

Please correct me if am wrong.Is there any other method to override this "mail.Chatter" template?

Avatar
Opusti
Avtor Best Answer

This works for me.


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

"use strict";


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

var Chatter = require('mail.Chatter');

var MailThread = core.form_widget_registry.get('mail_thread');


var NewLink = MailThread.include({

    

         init: function () {

               this._super.apply(this, arguments);

               this.events = _.extend(this.events, {

                          "click .o_chatter_button_new_link": "on_open_get_new_link",

                          });

             },

        on_open_get_new_link: function () {

              },

      });


});

Avatar
Opusti
Related Posts Odgovori Prikazi Aktivnost
0
sep. 21
2250
2
apr. 20
5057
7
dec. 18
5901
1
apr. 18
7219
0
apr. 18
2800