This question has been flagged
1 Reply
5203 Views

Hello there,

I note that im_chat send a beep (sound) only when the window doesn't have the focus. 

If my Odoo window already has the focus, I receive the message in the chat window, but no sound.

I'm pretty sure that I have to modify something in the im_chat.js file... But what?

I want to receive a beep even if my Odoo window has the focus.

I have to change of tab in my browser to receive a beep... Don't like it.

we are on Odoo 8.

Thanks to help


Avatar
Discard
Author Best Answer

I have overrided the receive_message function in a custom module. Now, we receive a sound notification even if the Odoo backend window has the focus in our browser.


override.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <template id="override_im_chat" name="" inherit_id="web.assets_backend">
            <xpath expr="." position="inside">
                <script type="text/javascript" src="/im_chat_lapagept/static/src/js/override.js"></script>
            </xpath>
        </template>
    </data>
</openerp>


override.js

openerp.im_chat_lapagept = function(instance) {
    instance.im_chat.ConversationManager.include({               
        received_message: function(message) {
            var self = this;
            var session_id = message.to_id[0];
            var uuid = message.to_id[1];
            //THis code has been commented by PT
            //if (! this.get("window_focus")) {
                //alert('gjhgjhg');
                this.set("waiting_messages", this.get("waiting_messages") + 1);
            //}
            var conv = this.sessions[uuid];
            if(!conv){
                // fetch the session, and init it with the message
                var def_session = new openerp.Model("im_chat.session").call("session_info", [], {"ids" : [session_id]}).then(function(session){
                    conv = self.activate_session(session, false);
                    conv.received_message(message);
                });
            }else{
                conv.received_message(message);
            }
        },
      })
}
Avatar
Discard