This question has been flagged
9 Replies
7921 Views

Current version of Instant messaging module doesn't save the messaging history if you close the chat. That's very inconvenient if you have to exchange information with other people and you have to check it out again later.

So is there any way to save messaging history somewhere and clear it when it is not anymore needed?

I know that you can use messages with social media module with preserves the history but they are more like sending e-mails and we are currently using skype for instant messaging so people are used to communicate with others thought instant messaging system and messages provided by social media module are not flexible enough.

Avatar
Discard
Author Best Answer

Didn't find module Jean-Sébastien SUZANNE was referring to (found it later see edited comment in the end) but because creating this kind of view was rather easy I created it by myself. Here is code if some one else wants to create similar view:

python file

         from openerp.osv import fields,osv
         class im_history(osv.osv):
             _inherit = 'im.message'  
         im_history()

xml file

  <record id="view_im_history" model="ir.ui.view">
    <field name="name">im.message.tree</field>
    <field name="model">im.message</field>
    <field name="arch" type="xml">
            <tree string="Instant Message History">
                <field name="date"/>
                <field name="from_id"/>
                <field name="to_id"/>
                <field name="message"/>
            </tree>
    </field>
  </record>

  <!-- Top menu item -->
    <menuitem name="Instant Messages history"
        id="im_history_root"
        groups="base.group_user"
        sequence="10"/>

    <record id="open_view_im_history" model="ir.actions.act_window">
        <field name="name">Instant messaging history</field>
        <field name="res_model">im.message</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree</field>
        <field name="view_id" ref="view_im_history"/>
    </record>
    <!-- Had to add dummy parent menu for actions because top menus arent' clicable in OE -->
    <menuitem name="Actions" id="im_history" parent="im_history_root" groups="base.group_user"/>
    <menuitem action="open_view_im_history" id="menu_open_view_im_history" parent="im_history" sequence="20" groups="base.group_user"/>

Access rights are handled right automatically because im.message object already has record rule that user can see only messages sent to/from user.

Edit: BUT as was pointed out by Jean-Sébastien SUZANNE in the comment SUPERUSER by passes the rules so if you don't want that you can test web_im module found here: https://bitbucket.org/anybox I haven't tested it but it is said to be working.

Avatar
Discard

Good. I didn't see the rules. But for me the rules is not enough because SUPERUSER by pass the rules.

IM module is for trunk version, my module can be use on the OpenERP v7 without patch

Author

Ok, for us it is ok if the superuser sees the messages because then employees won't use it for chatting non work related stuff but I added link to your module list in the end of my answer so that others can use that if they need higher security.

Best Answer

Hi,

The message are already saved on the model im.message (table im_message). But not view add.

In the module web_im for OpenERP 7.0 the view exist and the user can see only this messages.

Avatar
Discard
Author

I tried to find this module from launchpad but couldn't find anything else than some references on bug reports. Also, google returned no result. Do you have some link for this module? Thanks!

Author

Never mind. I created myself view to show messages from that table. Works fine.

You could find this module on bitbucket. It is a module from anybox. You need the module web_socketio and if you know the buildout, you should use long polling_buildout

Best Answer

IM messaging is automatically saved in Messaging>Live Chat>History

So nothing really needed to show chat history.

Avatar
Discard