Added possibility to customize user name

bzr revid: nicolas.vanhoren@openerp.com-20130212155756-6b0x7myjnszrkuc1
This commit is contained in:
niv-openerp 2013-02-12 16:57:56 +01:00
parent 7835ec8b4e
commit bf20a4ae58
3 changed files with 24 additions and 15 deletions

View File

@ -40,6 +40,7 @@ class ImportController(openerp.addons.web.http.Controller):
p = json.loads(kwargs["p"])
db = p["db"]
channel = p["channel"]
user_name = p.get("user_name", None)
req.session._db = db
req.session._uid = None
req.session._login = "anonymous"
@ -47,6 +48,7 @@ class ImportController(openerp.addons.web.http.Controller):
info = req.session.model('live_support.channel').get_info_for_chat_src(channel)
info["db"] = db
info["channel"] = channel
info["userName"] = user_name
return req.make_response(env.get_template("loader.js").render(info),
headers=[('Content-Type', "text/javascript")])

View File

@ -19,5 +19,6 @@ require.config({
inputPlaceholder: {{inputPlaceholder | json}},
defaultMessage: {{(defaultMessage or None) | json}},
auto: window.oe_live_support_auto || false,
userName: {{userName | json}} || undefined,
});
});

View File

@ -8,6 +8,7 @@ define(["nova", "underscore", "oeclient", "require", "jquery",
var connection;
var defaultInputPlaceholder;
var userName;
livesupport.main = function(server_url, db, login, password, channel, options) {
var defs = [];
@ -17,8 +18,10 @@ define(["nova", "underscore", "oeclient", "require", "jquery",
inputPlaceholder: "How may I help you?",
defaultMessage: null,
auto: false,
userName: "Anonymous",
});
defaultInputPlaceholder = options.inputPlaceholder;
userName = options.userName;
defs.push($.ajax({
url: require.toUrl("./livesupport_templates.js"),
jsonp: false,
@ -177,21 +180,24 @@ define(["nova", "underscore", "oeclient", "require", "jquery",
}
return def.then(function(uuid) {
localStorage["oe_livesupport_uuid"] = uuid;
return connection.getModel("im.user").call("get_by_user_id", [uuid]).then(function(my_id) {
self.my_id = my_id["id"];
return self.ensure_users([self.my_id]).then(function() {
var me = self.users_cache[self.my_id];
delete self.users_cache[self.my_id];
self.me = me;
connection.connector.call("/longpolling/im/activated", {}).then(function(activated) {
if (activated) {
self.activated = true;
$(window).on("unload", self.unload_event_handler);
self.poll();
}
});
});
});
return connection.getModel("im.user").call("get_by_user_id", [uuid]);
}).then(function(my_id) {
self.my_id = my_id["id"];
return connection.getModel("im.user").call("assign_name", [uuid, userName]);
}).then(function() {
return self.ensure_users([self.my_id])
}).then(function() {
var me = self.users_cache[self.my_id];
delete self.users_cache[self.my_id];
self.me = me;
me.set("name", "You");
connection.connector.call("/longpolling/im/activated", {});
}).then(function(activated) {
if (activated) {
self.activated = true;
$(window).on("unload", self.unload_event_handler);
self.poll();
}
});
},
unload: function() {