propagate from branch 'ca.inverse.sogo.1_3_12' (head 05f8b72feb6a6c81f20462457e2dbc6c47ae9edc)

to branch 'ca.inverse.sogo' (head dc4e3d958b052eb7529db6b61731e80df56ed412)

Monotone-Parent: 05f8b72feb6a6c81f20462457e2dbc6c47ae9edc
Monotone-Parent: dc4e3d958b052eb7529db6b61731e80df56ed412
Monotone-Revision: ba1ab7317c5e8c4b1e95d7e3f299bfd9ea38b10d

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2012-02-01T21:12:25
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2012-02-01 21:12:25 +00:00
134 changed files with 4671 additions and 3239 deletions
+44 -27
View File
@@ -258,17 +258,6 @@ function onContactContextMenuHide(event) {
this.stopObserving("contextmenu:hide", onContactContextMenuHide);
}
function onFolderMenuHide(event) {
var topNode = $('d');
if (topNode.menuSelectedEntry) {
topNode.menuSelectedEntry.deselect();
topNode.menuSelectedEntry = null;
}
if (topNode.selectedEntry)
topNode.selectedEntry.selectElement();
}
function _onContactMenuAction(folderItem, action, refresh) {
var selectedFolders = $("contactFolders").getSelectedNodes();
var folderId = $(folderItem).readAttribute("folderId");
@@ -308,8 +297,9 @@ function onContactMenuMove(event) {
function onMenuExportContact (event) {
var selectedFolders = $("contactFolders").getSelectedNodes();
var selectedFolderId = $(selectedFolders[0]).readAttribute("id");
if (selectedFolderId != "/shared") {
var canExport = (selectedFolders[0].getAttribute("owner") != "nobody");
if (canExport) {
var selectedFolderId = $(selectedFolders[0]).readAttribute("id");
var contactIds = $(document.menuTarget).collect(function(row) {
return row.getAttribute("id");
});
@@ -512,9 +502,6 @@ function onToolbarDeleteSelectedContactsConfirm(dialogId) {
var contactsList = $('contactsList');
var rows = contactsList.getSelectedRowsId();
for (var i = 0; i < rows.length; i++) {
var row = $(rows[i]);
row.deselect();
row.hide();
delete cachedContacts[Contact.currentAddressBook + "/" + rows[i]];
var urlstr = (URLForFolderID(Contact.currentAddressBook) + "/"
+ rows[i] + "/delete");
@@ -532,6 +519,7 @@ function onContactDeleteEventCallback(http) {
$("contactView").update();
Contact.currentContact = null;
}
Contact.deleteContactsRequestCount--;
if (Contact.deleteContactsRequestCount == 0) {
var nextRow = row.next("tr");
@@ -543,7 +531,10 @@ function onContactDeleteEventCallback(http) {
loadContact(Contact.currentContact);
}
}
row.parentNode.removeChild(row);
if (row) {
row.deselect();
row.parentNode.removeChild(row);
}
}
else if (parseInt(http.status) == 403) {
var row = $(http.callbackData);
@@ -598,10 +589,11 @@ function newContact(sender) {
function newList(sender) {
var li = $(Contact.currentAddressBook);
if (li.hasClassName("remote"))
showAlertDialog(_("You cannot create a list in a shared address book."));
else
var listEditing = li.getAttribute("list-editing");
if (listEditing && listEditing == "available")
openContactWindow(URLForFolderID(Contact.currentAddressBook) + "/newlist");
else
showAlertDialog(_("You cannot create a list in a shared address book."));
return false;
}
@@ -1068,15 +1060,15 @@ function onMenuSharing(event) {
var folders = $("contactFolders");
var selected = folders.getSelectedNodes()[0];
var owner = selected.getAttribute("owner");
if (owner == "nobody")
showAlertDialog(_("The user rights cannot be edited for this object!"));
else {
var aclEditing = selected.getAttribute("acl-editing");
if (aclEditing && aclEditing == "available") {
var title = this.innerHTML;
var url = URLForFolderID(selected.getAttribute("id"));
openAclWindow(url + "/acls", title);
}
else
showAlertDialog(_("The user rights cannot be edited for this object!"));
}
function onAddressBooksMenuPrepareVisibility() {
@@ -1089,30 +1081,55 @@ function onAddressBooksMenuPrepareVisibility() {
var menu = $("contactFoldersMenu").down("ul");;
var listElements = menu.childNodesWithTag("li");
var modifyOption = listElements[0];
var newListOption = listElements[3];
var removeOption = listElements[5];
var exportOption = listElements[7];
var importOption = listElements[8];
var sharingOption = listElements[listElements.length - 1];
// Disable the "Sharing" and "Modify" options when address book
// is not owned by user
if (folderOwner == UserLogin || IsSuperUser) {
modifyOption.removeClassName("disabled"); // WARNING: will fail for super users anyway
sharingOption.removeClassName("disabled");
modifyOption.removeClassName("disabled"); // WARNING: will fail
// for super users
// anyway
var aclEditing = selected[0].getAttribute("acl-editing");
if (aclEditing && aclEditing == "available") {
sharingOption.removeClassName("disabled");
}
else {
sharingOption.addClassName("disabled");
}
}
else {
modifyOption.addClassName("disabled");
sharingOption.addClassName("disabled");
}
var listEditing = selected[0].getAttribute("list-editing");
if (listEditing && listEditing == "available") {
newListOption.removeClassName("disabled");
}
else {
newListOption.addClassName("disabled");
}
/* Disable the "remove" and "export ab" options when address book is
public */
if (folderOwner == "nobody") {
exportOption.addClassName("disabled");
importOption.addClassName("disabled");
removeOption.addClassName("disabled");
}
else {
exportOption.removeClassName("disabled");
removeOption.removeClassName("disabled");
importOption.removeClassName("disabled");
if (selected[0].getAttribute("id") == "/personal") {
removeOption.addClassName("disabled");
}
else {
removeOption.removeClassName("disabled");
}
}
return true;