Monotone-Parent: 75ec663b4b26859e635b90a350146642970dc3c2
Monotone-Revision: a5a4c03e7f73726c0698328f9ab3e90d3a4a2432 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-04-19T16:35:35 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
a693ebedf4
commit
545e6693fa
12
ChangeLog
12
ChangeLog
|
@ -1,5 +1,17 @@
|
|||
2010-04-19 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* UI/Contacts/UIxContactFolderActions.m (-exportAction): improved
|
||||
method by providing the encoded filename of the address book
|
||||
following rfc2047. Make the "uids" parameter optional: when
|
||||
omitted, the address book is exported completely.
|
||||
|
||||
* UI/WebServerResources/ContactsUI.js (getMenus): added entry for
|
||||
exporting the address books, slightly reorganized the entries.
|
||||
(onAddressBooksMenuPrepareVisibility): grey out the "export" entry
|
||||
for LDAP address books.
|
||||
(onAddressBookExport): new callback for exporting addressbooks
|
||||
from the contextual menu.
|
||||
|
||||
* UI/WebServerResources/generic.js (URLForFolderID): avoid double
|
||||
slashes in the URL returned for personal folders.
|
||||
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Add";
|
||||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select a vCard or LDIF file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Přidat";
|
||||
"Lists can't be moved or copied." = "Skupinu nelze přesunout nebo kopírovat.";
|
||||
"Export" = "Exportovat";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Importovat kontakty";
|
||||
"Select a vCard or LDIF file." = "Zvolte LDIF nebo vCard soubor.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Add";
|
||||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select LDIF or vCard file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Add";
|
||||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select a vCard or LDIF file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Ajouter";
|
||||
"Lists can't be moved or copied." = "Les listes ne peuvent pas être déplacées ou copiées.";
|
||||
"Export" = "Exporter";
|
||||
"Export Address Book..." = "Exporter le carnet d'adresses...";
|
||||
"Import Cards" = "Importer des contacts";
|
||||
"Select a vCard or LDIF file." = "Sélectionner un fichier. LDIF ou vCard.";
|
||||
"Upload" = "Ajouter";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Add";
|
||||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select a vCard or LDIF file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Add";
|
||||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select LDIF or vCard file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Add";
|
||||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select a vCard or LDIF file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -165,6 +165,7 @@
|
|||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select a vCard or LDIF file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Add";
|
||||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select a vCard or LDIF file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -179,6 +179,7 @@
|
|||
"Add" = "Lägg till";
|
||||
"Lists can't be moved or copied." = "Utskickslistor kan inte flyttas eller kopieras.";
|
||||
"Export" = "Exportera";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Importera adresskort";
|
||||
"Select a vCard or LDIF file." = "Välj ett vCard eller LDIF fil.";
|
||||
"Upload" = "Ladda upp";
|
||||
|
|
|
@ -56,17 +56,18 @@
|
|||
WOResponse *response;
|
||||
NSArray *contactsId;
|
||||
NSEnumerator *uids;
|
||||
NSString *uid, *filename;
|
||||
NSString *uid, *filename, *disposition;
|
||||
id currentChild;
|
||||
SOGoContactGCSFolder *sourceFolder;
|
||||
NSMutableString *content;
|
||||
|
||||
content = [NSMutableString string];
|
||||
request = [context request];
|
||||
contactsId = [request formValuesForKey: @"uid"];
|
||||
if (contactsId)
|
||||
{
|
||||
sourceFolder = [self clientObject];
|
||||
contactsId = [request formValuesForKey: @"uid"];
|
||||
if (!contactsId)
|
||||
contactsId = [sourceFolder toOneRelationshipKeys];
|
||||
|
||||
uids = [contactsId objectEnumerator];
|
||||
while ((uid = [uids nextObject]))
|
||||
{
|
||||
|
@ -78,15 +79,15 @@
|
|||
else if ([currentChild respondsToSelector: @selector (vList)])
|
||||
[content appendFormat: [[currentChild vList] ldifString]];
|
||||
}
|
||||
}
|
||||
|
||||
filename = [NSString stringWithFormat: @"attachment;filename=\"%@.ldif\"",
|
||||
[sourceFolder displayName]];
|
||||
response = [context response];
|
||||
[response setHeader: @"application/octet-stream; charset=utf-8"
|
||||
forKey: @"content-type"];
|
||||
[response setHeader: filename
|
||||
forKey: @"Content-Disposition"];
|
||||
filename = [NSString stringWithFormat: @"%@.ldif",
|
||||
[sourceFolder displayName]];
|
||||
disposition = [NSString stringWithFormat: @"attachment; filename=\"%@\"",
|
||||
[filename asQPSubjectString: @"utf-8"]];
|
||||
[response setHeader: disposition forKey: @"Content-Disposition"];
|
||||
[response setContent: [content dataUsingEncoding: NSUTF8StringEncoding]];
|
||||
|
||||
return response;
|
||||
|
|
|
@ -164,6 +164,7 @@
|
|||
"Lists can't be moved or copied." = "Lists can't be moved or copied.";
|
||||
|
||||
"Export" = "Export";
|
||||
"Export Address Book..." = "Export Address Book...";
|
||||
"Import Cards" = "Import Cards";
|
||||
"Select a vCard or LDIF file." = "Select a vCard or LDIF file.";
|
||||
"Upload" = "Upload";
|
||||
|
|
|
@ -103,6 +103,11 @@
|
|||
actionClass = "UIxContactFolderActions";
|
||||
actionName = "export";
|
||||
};
|
||||
exportFolder = {
|
||||
protectedBy = "View";
|
||||
actionClass = "UIxContactFolderActions";
|
||||
actionName = "export";
|
||||
};
|
||||
import = {
|
||||
protectedBy = "View";
|
||||
actionClass = "UIxContactFolderActions";
|
||||
|
|
|
@ -60,9 +60,11 @@
|
|||
<li><var:string label:value="New Card" /></li>
|
||||
<li><var:string label:value="New List" /></li>
|
||||
<li><!-- separator --></li>
|
||||
<li><var:string label:value="Import Cards" /></li>
|
||||
<li><var:string label:value="Delete" /></li>
|
||||
<li><!-- separator --></li>
|
||||
<li><var:string label:value="Export Address Book..."/></li>
|
||||
<li><var:string label:value="Import Cards" /></li>
|
||||
<li><!-- separator --></li>
|
||||
<li><var:string label:value="Sharing..." /></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -689,6 +689,15 @@ function onFolderUnsubscribeCB(folderId) {
|
|||
onFolderSelectionChange();
|
||||
}
|
||||
|
||||
function onAddressBookExport(event) {
|
||||
var node = $("contactFolders").getSelectedNodes().first();
|
||||
var folderID = node.getAttribute("id");
|
||||
var url = URLForFolderID(folderID) + "/exportFolder";
|
||||
window.location.href = url;
|
||||
|
||||
event.stop();
|
||||
}
|
||||
|
||||
function onAddressBookImport(event) {
|
||||
var node = $("contactFolders").getSelectedNodes().first();
|
||||
var folderId = node.getAttribute("id");
|
||||
|
@ -1000,9 +1009,10 @@ function onAddressBooksMenuPrepareVisibility() {
|
|||
|
||||
var menu = $("contactFoldersMenu").down("ul");;
|
||||
var listElements = menu.childNodesWithTag("li");
|
||||
var modifyOption = $(listElements[0]);
|
||||
var removeOption = $(listElements[5]);
|
||||
var sharingOption = $(listElements[listElements.length - 1]);
|
||||
var modifyOption = listElements[0];
|
||||
var removeOption = listElements[5];
|
||||
var exportOption = listElements[7];
|
||||
var sharingOption = listElements[listElements.length - 1];
|
||||
|
||||
// Disable the "Sharing" and "Modify" options when address book
|
||||
// is not owned by user
|
||||
|
@ -1015,11 +1025,16 @@ function onAddressBooksMenuPrepareVisibility() {
|
|||
sharingOption.addClassName("disabled");
|
||||
}
|
||||
|
||||
// Disable the "remove" option when address book is public
|
||||
if (folderOwner == "nobody")
|
||||
/* Disable the "remove" and "export ab" options when address book is
|
||||
public */
|
||||
if (folderOwner == "nobody") {
|
||||
exportOption.addClassName("disabled");
|
||||
removeOption.addClassName("disabled");
|
||||
else
|
||||
}
|
||||
else {
|
||||
exportOption.removeClassName("disabled");
|
||||
removeOption.removeClassName("disabled");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1072,8 +1087,9 @@ function onContactMenuPrepareVisibility() {
|
|||
function getMenus() {
|
||||
var menus = {};
|
||||
menus["contactFoldersMenu"] = new Array(onAddressBookModify, "-", newContact,
|
||||
newList, "-", onAddressBookImport,
|
||||
newList, "-",
|
||||
onAddressBookRemove, "-",
|
||||
onAddressBookExport, onAddressBookImport, "-",
|
||||
onMenuSharing);
|
||||
menus["contactMenu"] = new Array(onMenuEditContact, "-",
|
||||
onMenuWriteToContact, onMenuAIMContact,
|
||||
|
|
Loading…
Reference in New Issue