From 4b8b2e8dfe3147beb5ab7c333269c2874eda5267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Maes?= Date: Fri, 26 Sep 2014 11:43:12 +0200 Subject: [PATCH] [ADD] im_odoo_support : add the module for the live odoo support from all instances. This sets the bus and im_chat module auto installable. --- addons/im_odoo_support/__init__.py | 0 addons/im_odoo_support/__openerp__.py | 27 ++++ .../static/img/odoo_o_small.png | Bin 0 -> 4433 bytes .../static/src/js/im_odoo_support.js | 134 ++++++++++++++++++ .../static/src/xml/im_odoo_support.xml | 11 ++ .../im_odoo_support/views/im_odoo_support.xml | 20 +++ 6 files changed, 192 insertions(+) create mode 100644 addons/im_odoo_support/__init__.py create mode 100644 addons/im_odoo_support/__openerp__.py create mode 100644 addons/im_odoo_support/static/img/odoo_o_small.png create mode 100644 addons/im_odoo_support/static/src/js/im_odoo_support.js create mode 100644 addons/im_odoo_support/static/src/xml/im_odoo_support.xml create mode 100644 addons/im_odoo_support/views/im_odoo_support.xml diff --git a/addons/im_odoo_support/__init__.py b/addons/im_odoo_support/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/addons/im_odoo_support/__openerp__.py b/addons/im_odoo_support/__openerp__.py new file mode 100644 index 00000000000..2e90ddc7d87 --- /dev/null +++ b/addons/im_odoo_support/__openerp__.py @@ -0,0 +1,27 @@ +{ + 'name' : 'Odoo Live Support', + 'author': 'OpenERP SA', + 'version': '1.0', + 'summary': 'Chat with the Odoo collaborators', + 'category': 'Tools', + 'complexity': 'medium', + 'website': 'https://www.odoo.com/', + 'description': + """ +Odoo Live Support +================= + +Ask your functionnal question directly to the Odoo Operators with the livechat support. + + """, + 'data': [ + "views/im_odoo_support.xml" + ], + 'depends' : ["web", "im_chat"], + 'qweb': [ + 'static/src/xml/im_odoo_support.xml' + ], + 'installable': True, + 'auto_install': True, + 'application': True, +} diff --git a/addons/im_odoo_support/static/img/odoo_o_small.png b/addons/im_odoo_support/static/img/odoo_o_small.png new file mode 100644 index 0000000000000000000000000000000000000000..6973242afa6d1cee00304f33e97ffd082c79883a GIT binary patch literal 4433 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').appendTo($("head")).ready(function() { + def.resolve(); + }); + return def; + } + }; + var defs = []; + defs.push(add_asset(SERVICE_URL+"odoo-livechat/assets/js", 'js')); + defs.push(add_asset(SERVICE_URL+"odoo-livechat/assets/css", 'css')); + return $.when.apply($, defs).then(function(res){ + self.assets_loaded = true; + return res; + }, function(){ + self.error_on_start(); + }); + }, + }); + + // display support contact button (in chat user list, if installed) and in dropdown user menu. + if(openerp.im_chat){ + openerp.im_chat.InstantMessaging.include({ + start: function(){ + this._super.apply(this, arguments); + var user = { + "id" : -1, + "name": _t('Odoo Support'), + "im_status": 'online', + "image_url": "/im_odoo_support/static/img/odoo_o_small.png" + }; + var widget = new openerp.im_chat.UserWidget(self, user); + widget.prependTo(self.$(".oe_im_users")); + widget.$el.addClass('odoo_support_contact'); + this.support_user = widget; + + $(window).trigger('odoo_support_ready_to_bind','im_contact'); + }, + search_users_status: function(e){ + var self = this; + this._super.apply(this, arguments).then(function(res){ + if(self.$('.oe_im_searchbox').val().length === 0 || _t("Odoo Support").toLowerCase().indexOf(self.$('.oe_im_searchbox').val().toLowerCase()) != -1){ + self.support_user.$el.show(); + }else{ + self.support_user.$el.hide(); + } + return res; + }); + } + }); + } + +})(); diff --git a/addons/im_odoo_support/static/src/xml/im_odoo_support.xml b/addons/im_odoo_support/static/src/xml/im_odoo_support.xml new file mode 100644 index 00000000000..f7154797c37 --- /dev/null +++ b/addons/im_odoo_support/static/src/xml/im_odoo_support.xml @@ -0,0 +1,11 @@ + + + + + +
  • + Odoo Support +
  • +
    +
    +
    diff --git a/addons/im_odoo_support/views/im_odoo_support.xml b/addons/im_odoo_support/views/im_odoo_support.xml new file mode 100644 index 00000000000..e8e5ecf77f4 --- /dev/null +++ b/addons/im_odoo_support/views/im_odoo_support.xml @@ -0,0 +1,20 @@ + + + + + + + +