[MERGE] from trunk
authorChristophe Matthieu <chm@openerp.com>
Wed, 28 Aug 2013 16:39:37 +0000 (18:39 +0200)
committerChristophe Matthieu <chm@openerp.com>
Wed, 28 Aug 2013 16:39:37 +0000 (18:39 +0200)
bzr revid: chm@openerp.com-20130828163937-japdo58t20hhqfoz

1  2 
addons/im_livechat/im_livechat.py
addons/im_livechat/loader.js
addons/im_livechat/static/ext/static/js/livesupport.js
addons/mail/static/src/js/mail.js
addons/point_of_sale/point_of_sale.py
addons/point_of_sale/point_of_sale_demo.xml
addons/point_of_sale/static/src/js/models.js
addons/point_of_sale/static/src/js/widgets.js

Simple merge
@@@ -14,7 -34,8 +34,8 @@@ require.config(
      },
  })(["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}},
@@@ -1,46 -1,48 +1,48 @@@
  
- 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();
Simple merge
Simple merge
          <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>