summaryrefslogtreecommitdiff
path: root/addons/web_livechat/static/src/js/web_livechat.js
diff options
context:
space:
mode:
authorHarry (OpenERP) <hmo@tinyerp.com>2011-12-13 13:11:29 +0530
committerHarry (OpenERP) <hmo@tinyerp.com>2011-12-13 13:11:29 +0530
commit359f0b42e22e69e9965462c8e8d5b8c57239d2f8 (patch)
tree64412070716c5949d6c8703e5f2bd83235177ce1 /addons/web_livechat/static/src/js/web_livechat.js
parenteb4c08585db4868fbf03dc0a019a383e9e653e7e (diff)
parent78f56f29f2469f2e4a398d7d6cbdcafaa622341c (diff)
[MERGE] merged with trunk development branch.
bzr revid: hmo@tinyerp.com-20111213074129-0frej7vvaefubybe
Diffstat (limited to 'addons/web_livechat/static/src/js/web_livechat.js')
-rw-r--r--addons/web_livechat/static/src/js/web_livechat.js53
1 files changed, 41 insertions, 12 deletions
diff --git a/addons/web_livechat/static/src/js/web_livechat.js b/addons/web_livechat/static/src/js/web_livechat.js
index 13c4bbe28d4..e35b726ef77 100644
--- a/addons/web_livechat/static/src/js/web_livechat.js
+++ b/addons/web_livechat/static/src/js/web_livechat.js
@@ -33,7 +33,16 @@ openerp.web_livechat.Livechat = openerp.web.Widget.extend({
var pwc = new openerp.web.Model(self.session, "publisher_warranty.contract");
pwc.get_func('get_default_livechat_text')().then(function(text) {
self.$element.html(text);
+ console.log('receiving text', text);
self.do_update();
+ pwc.get_func('is_livechat_enable')().then(function(res) {
+ console.log('result', res);
+ if(res) {
+ self.$element.click(self.do_load_livechat);
+ } else {
+ self.do_action({type: 'ir.act.url', url: 'http://www.openerp.com/support-or-publisher-warranty-contract'});
+ }
+ })
});
openerp.webclient.header.do_update.add_last(this.do_update);
@@ -45,7 +54,14 @@ openerp.web_livechat.Livechat = openerp.web.Widget.extend({
self.$element.remove();
return;
}
-
+ },
+
+ do_load_livechat: function(evt) {
+ evt.preventDefault();
+ var self = this;
+
+ this.$element.unbind('click', this.do_load_livechat);
+
var lc_id = _.uniqueId('livechat_');
this.$element.attr('id', lc_id);
@@ -56,6 +72,8 @@ openerp.web_livechat.Livechat = openerp.web.Widget.extend({
if(!res) {
//return;
}
+ // connect to LiveChat
+ __lc_load();
__lc_buttons.push({
elementId: lc_id, //'livechat_status',
@@ -77,17 +95,28 @@ if (openerp.webclient) {
params = '',
lang = 'en',
skill = '0';
- __lc_load = function (p) { if (typeof __lc_loaded != 'function')
- if (p) { var d = document, l = d.createElement('script'), s =
- d.getElementsByTagName('script')[0], a = unescape('%26'),
- h = ('https:' == d.location.protocol ? 'https://' : 'http://'); l.type = 'text/javascript'; l.async = true;
- l.src = h + 'gis' + p +'.livechatinc.com/gis.cgi?serverType=control'+a+'licenseID='+license+a+'jsonp=__lc_load';
- if (!(typeof p['server'] !== 'string' || typeof __lc_serv === 'string')) {
- l.src = h + (__lc_serv = p['server']) + '/licence/'+license+'/script.cgi?lang='+lang+a+'groups='+skill;
- l.src += (params == '') ? '' : a+'params='+encodeURIComponent(encodeURIComponent(params)); s.parentNode.insertBefore(l, s);
- } else setTimeout(__lc_load, 1000); if(typeof __lc_serv != 'string'){ s.parentNode.insertBefore(l, s);}
- } else __lc_load(Math.ceil(Math.random()*5)); }
- __lc_load();
+ __lc_load = function (p) {
+ if (typeof __lc_loaded != 'function')
+ if (p) {
+ var d = document,
+ l = d.createElement('script'),
+ s = d.getElementsByTagName('script')[0],
+ a = unescape('%26'),
+ h = ('https:' == d.location.protocol ? 'https://' : 'http://');
+ l.type = 'text/javascript';
+ l.async = true;
+ l.src = h + 'gis' + p +'.livechatinc.com/gis.cgi?serverType=control'+a+'licenseID='+license+a+'jsonp=__lc_load';
+ if (!(typeof p['server'] !== 'string' || typeof __lc_serv === 'string')) {
+ l.src = h + (__lc_serv = p['server']) + '/licence/'+license+'/script.cgi?lang='+lang+a+'groups='+skill;
+ l.src += (params == '') ? '' : a+'params='+encodeURIComponent(encodeURIComponent(params));
+ s.parentNode.insertBefore(l, s);
+ } else
+ setTimeout(__lc_load, 1000);
+ if(typeof __lc_serv != 'string'){
+ s.parentNode.insertBefore(l, s);
+ }
+ } else __lc_load(Math.ceil(Math.random()*5));
+ }
// and add widget to webclient
openerp.webclient.livechat = new openerp.web_livechat.Livechat(openerp.webclient);