تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
4645 أدوات العرض

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?

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

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 () {

              },

      });


});

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
0
سبتمبر 21
2268
2
أبريل 20
5092
7
ديسمبر 18
5936
1
أبريل 18
7250
0
أبريل 18
2834