Monotone-Parent: 6b577920a706f87a657fa33dbc4eb2916a0c1939

Monotone-Revision: b3aa3aab118081b3bc8fec95a06b91b29e222343

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2008-08-11T15:06:19
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2008-08-11 15:06:19 +00:00
parent 27693043b5
commit 149d86a9ae
2 changed files with 25 additions and 33 deletions

View File

@@ -140,11 +140,6 @@
protectedBy = "Access Contents Information";
pageName = "UIxContactView";
};
delete = {
protectedBy = "Delete Objects";
pageName = "UIxContactView";
actionName = "delete";
};
edit = {
protectedBy = "Access Contents Information";
pageName = "UIxContactEditor";

View File

@@ -1,6 +1,6 @@
/* JavaScript for SOGoContacts */
var cachedContacts = new Array();
var cachedContacts = {};
var currentAddressBook = null;
var usersRightsWindowHeight = 200;
@@ -425,37 +425,34 @@ function onToolbarWriteToSelectedContacts(event) {
function onToolbarDeleteSelectedContacts(event) {
var contactsList = $('contactsList');
var rows = contactsList.getSelectedRowsId();
if (rows.length == 0) {
if (rows.length) {
for (var i = 0; i < rows.length; i++) {
delete cachedContacts[currentAddressBook + "/" + rows[i]];
var urlstr = (URLForFolderID(currentAddressBook) + "/"
+ rows[i] + "/delete");
triggerAjaxRequest(urlstr, onContactDeleteEventCallback, rows[i]);
}
var contactView = $('contactView');
contactView.update();
}
else {
window.alert(labels["Please select a contact."]);
return false;
}
var contactView = $('contactView');
for (var i = 0; i < rows.length; i++) {
var url;
url = (URLForFolderID(currentAddressBook) + "/"
+ rows[i] + "/delete");
new Ajax.Request(url, {
method: 'post',
onFailure: function(transport) {
window.alert(labels["You cannot delete the selected contact(s)"]);
refreshCurrentFolder();
},
onSuccess: function(transport) {
var row = $(transport.responseText.trim());
if (row)
row.parentNode.removeChild(row);
}
});
}
contactView.update();
return false;
}
function onContactDeleteEventCallback(http) {
if (http.readyState == 4) {
if (isHttpStatus204(http.status)) {
var row = $(http.callbackData);
row.parentNode.removeChild(row);
}
}
}
function newEmailTo(sender) {
var mailto = sanitizeMailTo(sender.parentNode.parentNode.menuTarget.innerHTML);
@@ -561,7 +558,7 @@ function onConfirmContactSelection(event) {
function refreshContacts(contactId) {
openContactsFolder(currentAddressBook, true, contactId);
cachedContacts[currentAddressBook + "/" + contactId] = null;
delete cachedContacts[currentAddressBook + "/" + contactId];
loadContact(contactId);
return false;