mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-18 19:48:53 +00:00
Fix freebusy for multidomain environments
When returning contacts we have to supply also the domain field. Because in a multidomain environment UIDField is unique only in the domain so an user must be identified as uid@domain. So when creating http requests from client side, we have to use uid@domain instead of only uid so the SOGoUser created on server side when parsing the requests is created properly.
This commit is contained in:
@@ -221,9 +221,11 @@ function performSearchCallback(http) {
|
||||
node.address = completeEmail;
|
||||
// log("node.address: " + node.address);
|
||||
if (contact["c_uid"]) {
|
||||
node.uid = (contact["isMSExchange"]? UserLogin + ":" : "") + contact["c_uid"];
|
||||
}
|
||||
else {
|
||||
var login = contact["c_uid"];
|
||||
if (contact["c_domain"])
|
||||
login += "@" + contact["c_domain"];
|
||||
node.uid = (contact["isMSExchange"]? UserLogin + ":" : "") + login;
|
||||
} else
|
||||
node.uid = null;
|
||||
node.appendChild(new Element('div').addClassName('colorBox').addClassName('noFreeBusy'));
|
||||
}
|
||||
@@ -275,13 +277,16 @@ function performSearchCallback(http) {
|
||||
else {
|
||||
if (document.currentPopupMenu)
|
||||
hideMenu(document.currentPopupMenu);
|
||||
|
||||
|
||||
if (data.contacts.length == 1) {
|
||||
// Single result
|
||||
var contact = data.contacts[0];
|
||||
if (contact["c_uid"])
|
||||
input.uid = (contact["isMSExchange"]? UserLogin + ":" : "") + contact["c_uid"];
|
||||
else
|
||||
if (contact["c_uid"]) {
|
||||
var login = contact["c_uid"];
|
||||
if (contact["c_domain"])
|
||||
login += "@" + contact["c_domain"];
|
||||
input.uid = (contact["isMSExchange"]? UserLogin + ":" : "") + login;
|
||||
} else
|
||||
input.uid = null;
|
||||
var isList = (contact["c_component"] &&
|
||||
contact["c_component"] == "vlist");
|
||||
|
||||
Reference in New Issue
Block a user