},
})(["livesupport", "jquery"], function(livesupport, jQuery) {
jQuery.noConflict();
+ console.log("loaded live support");
- livesupport.main({{url | json}}, {{db | json}}, "anonymous", "anonymous", {{channel | json}}, {
+ livesupport.main({{url | json}}, {{db | json}}, "public", "public", {{channel | json}}, {
buttonText: {{buttonText | json}},
inputPlaceholder: {{inputPlaceholder | json}},
defaultMessage: {{(defaultMessage or None) | json}},
- define(["nova", "underscore", "oeclient", "require", "jquery",
- "jquery.achtung"], function(nova, _, oeclient, require, $) {
- var livesupport = {};
+ /*
+ This file must compile in EcmaScript 3 and work in IE7.
+ */
- var templateEngine = new nova.TemplateEngine();
- templateEngine.extendEnvironment({"toUrl": _.bind(require.toUrl, require)});
- var connection;
+ define(["openerp", "im_common", "underscore", "require", "jquery",
+ "jquery.achtung"], function(openerp, im_common, _, require, $) {
+ /* jshint es3: true */
+ "use strict";
- var defaultInputPlaceholder;
- var userName;
+ var _t = openerp._t;
+
+ var livesupport = {};
livesupport.main = function(server_url, db, login, password, channel, options) {
- var defs = [];
options = options || {};
_.defaults(options, {
- buttonText: "Chat with one of our collaborators",
- inputPlaceholder: "How may I help you?",
+ buttonText: _t("Chat with one of our collaborators"),
+ inputPlaceholder: _t("How may I help you?"),
defaultMessage: null,
auto: false,
- userName: "Public",
- userName: _t("Anonymous"),
++ userName: _t("Public"),
+ anonymous_mode: true
});
- defaultInputPlaceholder = options.inputPlaceholder;
- userName = options.userName;
- defs.push($.ajax({
- url: require.toUrl("./livesupport_templates.js"),
- jsonp: false,
- jsonpCallback: "oe_livesupport_templates_callback",
- dataType: "jsonp",
- cache: true,
- }).then(function(content) {
- return templateEngine.loadFileContent(content);
- }));
- defs.push(add_css("../css/livesupport.css"));
- defs.push(add_css("./jquery.achtung.css"));
- $.when.apply($, defs).then(function() {
- console.log("starting live support customer app");
- connection = new oeclient.Connection(new oeclient.JsonpRPCConnector(server_url), db, login, password);
- connection.connector.call("/im_livechat/available", {db: db, channel: channel}).then(function(activated) {
+ im_common.notification = notification;
+
+ console.log("starting live support customer app");
+ im_common.connection = new openerp.Session(null, server_url, { override_session: true });
+ return im_common.connection.session_authenticate(db, login, password).then(function() {
+ var defs = [];
+ defs.push(add_css("/im/static/src/css/im_common.css"));
+ defs.push(add_css("/im_livechat/static/ext/static/lib/jquery-achtung/src/ui.achtung.css"));
+ defs.push(im_common.connection.rpc('/web/proxy/load', {path: '/im_livechat/static/ext/static/js/livechat.xml'}).then(function(xml) {
+ openerp.qweb.add_template(xml);
+ }));
+ defs.push(im_common.connection.rpc('/web/proxy/load', {path: '/im/static/src/xml/im_common.xml'}).then(function(xml) {
+ openerp.qweb.add_template(xml);
+ }));
+ return $.when.apply($, defs);
+ }).then(function() {
+ return im_common.connection.rpc("/im_livechat/available", {db: db, channel: channel}).then(function(activated) {
if (! activated & ! options.auto)
return;
- var button = new livesupport.ChatButton(null, channel, options);
+ var button = new im_common.ChatButton(null, channel, options);
button.appendTo($("body"));
if (options.auto)
button.click();
<record id="peche" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">5.10</field>
- <field name="name">Fishing</field>
+ <field name="name">Peaches</field>
<field name="to_weight">True</field>
<field name="ean13">2300001000008</field>
- <field name="pos_categ_id" ref="rouges_noyau_fruits"/>
+ <field name="public_categ_id" ref="rouges_noyau_fruits"/>
<field name="uom_id" ref="product.product_uom_kgm" />
<field name="uom_po_id" ref="product.product_uom_kgm" />
<field name="image">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</field>