Monotone-Parent: efd9926cc2f7cfa8385ca79896abdf82e8b16d59

Monotone-Revision: c9246310f08403905093c99e74adb38f7c4c3c7e

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2009-02-06T20:09:56
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2009-02-06 20:09:56 +00:00
parent c2635c9eba
commit 2765c2a2ec
5 changed files with 49 additions and 70 deletions

View File

@ -232,13 +232,33 @@
return qualifier;
}
- (void) fixupContactRecord: (NSMutableDictionary *) contactRecord
{
NSString *data;
data = [contactRecord objectForKey: @"c_cn"];
if (![data length])
{
data = [contactRecord keysWithFormat: @"%{c_givenname} %{c_sn}"];
[contactRecord setObject: data forKey: @"c_cn"];
}
if (![contactRecord objectForKey: @"c_mail"])
[contactRecord setObject: @"" forKey: @"c_mail"];
if (![contactRecord objectForKey: @"c_screenname"])
[contactRecord setObject: @"" forKey: @"c_screenname"];
if (![contactRecord objectForKey: @"c_o"])
[contactRecord setObject: @"" forKey: @"c_o"];
if (![contactRecord objectForKey: @"c_telephonenumber"])
[contactRecord setObject: @"" forKey: @"c_telephonenumber"];
}
- (NSArray *) _flattenedRecords: (NSArray *) records
{
NSMutableArray *newRecords;
NSEnumerator *oldRecords;
NSDictionary *oldRecord;
NSMutableDictionary *newRecord;
NSString *data;
newRecords = [NSMutableArray arrayWithCapacity: [records count]];
@ -246,40 +266,8 @@
oldRecord = [oldRecords nextObject];
while (oldRecord)
{
newRecord = [NSMutableDictionary new];
[newRecord autorelease];
[newRecord setObject: [oldRecord objectForKey: @"c_name"]
forKey: @"c_uid"];
[newRecord setObject: [oldRecord objectForKey: @"c_name"]
forKey: @"c_name"];
data = [oldRecord objectForKey: @"c_cn"];
if (![data length])
data = [oldRecord keysWithFormat: @"%{c_givenname} %{c_sn}"];
[newRecord setObject: data
forKey: @"displayName"];
data = [oldRecord objectForKey: @"c_mail"];
if (!data)
data = @"";
[newRecord setObject: data forKey: @"mail"];
data = [oldRecord objectForKey: @"c_screenname"];
if (!data)
data = @"";
[newRecord setObject: data forKey: @"screenName"];
data = [oldRecord objectForKey: @"c_o"];
if (!data)
data = @"";
[newRecord setObject: data forKey: @"org"];
data = [oldRecord objectForKey: @"c_telephonenumber"];
if (![data length])
data = @"";
[newRecord setObject: data forKey: @"phone"];
newRecord = [NSMutableDictionary dictionaryWithDictionary: oldRecord];
[self fixupContactRecord: newRecord];
[newRecords addObject: newRecord];
oldRecord = [oldRecords nextObject];
}

View File

@ -167,11 +167,12 @@
if (!obj)
{
ldifEntry = [ldapSource lookupContactEntryWithUIDorEmail: objectName];
obj = ((ldifEntry)
? [SOGoContactLDIFEntry contactEntryWithName: objectName
withLDIFEntry: ldifEntry
inContainer: self]
: [NSException exceptionWithHTTPStatus: 404]);
if (ldifEntry)
obj = [SOGoContactLDIFEntry contactEntryWithName: objectName
withLDIFEntry: ldifEntry
inContainer: self];
else
obj = [NSException exceptionWithHTTPStatus: 404];
}
return obj;
@ -212,24 +213,24 @@
data = [oldRecord objectForKey: @"c_cn"];
if (!data)
data = @"";
[newRecord setObject: data forKey: @"displayName"];
[newRecord setObject: data forKey: @"c_cn"];
data = [oldRecord objectForKey: @"mail"];
if (!data)
data = @"";
[newRecord setObject: data forKey: @"mail"];
[newRecord setObject: data forKey: @"c_mail"];
data = [oldRecord objectForKey: @"nsAIMid"];
if (![data length])
data = [oldRecord objectForKey: @"nscpaimscreenname"];
if (![data length])
data = @"";
[newRecord setObject: data forKey: @"screenName"];
[newRecord setObject: data forKey: @"c_screenname"];
data = [oldRecord objectForKey: @"o"];
if (!data)
data = @"";
[newRecord setObject: data forKey: @"org"];
[newRecord setObject: data forKey: @"c_o"];
data = [oldRecord objectForKey: @"telephoneNumber"];
if (![data length])
@ -238,7 +239,7 @@
data = [oldRecord objectForKey: @"homePhone"];
if (![data length])
data = @"";
[newRecord setObject: data forKey: @"phone"];
[newRecord setObject: data forKey: @"c_telephonenumber"];
contactInfo = [ud stringForKey: @"SOGoLDAPContactInfoAttribute"];
if ([contactInfo length] > 0) {

View File

@ -60,15 +60,6 @@
return currentContact;
}
- (NSString *) currentCName
{
NSString *cName;
cName = [currentContact objectForKey: @"c_name"];
return [cName stringByEscapingURL];
}
- (id <WOActionResults>) mailerContactsAction
{
selectorComponentClass = @"UIxContactsMailerSelection";

View File

@ -29,14 +29,13 @@
<tbody>
<var:foreach list="contactInfos" item="currentContact">
<tr class="tableview"
var:id="currentCName"
var:contactname="currentContact.displayName"
var:contactid="currentContact.c_uid">
<td class="displayName"><var:string value="currentContact.displayName" const:escapeHTML="YES" /></td>
<td><var:string value="currentContact.mail"/></td>
<td><var:string value="currentContact.screenName"/></td>
<td><var:string value="currentContact.org"/></td>
<td><var:string value="currentContact.phone"/></td>
var:id="currentContact.c_name"
var:contactname="currentContact.c_cn">
<td class="displayName"><var:string value="currentContact.c_cn" const:escapeHTML="YES" /></td>
<td><var:string value="currentContact.c_mail"/></td>
<td><var:string value="currentContact.c_screenname"/></td>
<td><var:string value="currentContact.c_o"/></td>
<td><var:string value="currentContact.c_telephonenumber"/></td>
</tr>
</var:foreach>
</tbody>

View File

@ -351,10 +351,10 @@ function moveTo(uri) {
/* contact menu entries */
function onContactRowDblClick(event) {
var contactId = this.getAttribute('contactid');
var cname = this.getAttribute('id');
openContactWindow(URLForFolderID(Contact.currentAddressBook)
+ "/" + contactId + "/edit", contactId);
+ "/" + cname + "/edit", cname);
return false;
}
@ -364,7 +364,7 @@ function onContactSelectionChange(event) {
if (rows.length == 1) {
var node = $(rows[0]);
loadContact(node.getAttribute('contactid'));
loadContact(node.getAttribute('id'));
}
else if (rows.length > 1) {
$('contactView').update();
@ -551,7 +551,7 @@ function onConfirmContactSelection(event) {
var contactsList = $("contactsList");
var rows = contactsList.getSelectedRows();
for (i = 0; i < rows.length; i++) {
var cid = rows[i].getAttribute("contactid");
var cid = rows[i].getAttribute("id");
var cname = '' + rows[i].getAttribute("contactname");
var email = '' + rows[i].cells[1].innerHTML;
@ -562,10 +562,10 @@ function onConfirmContactSelection(event) {
preventDefault(event);
}
function refreshContacts(contactId) {
openContactsFolder(Contact.currentAddressBook, true, contactId);
delete cachedContacts[Contact.currentAddressBook + "/" + contactId];
loadContact(contactId);
function refreshContacts(cname) {
openContactsFolder(Contact.currentAddressBook, true, cname);
delete cachedContacts[Contact.currentAddressBook + "/" + cname];
loadContact(cname);
return false;
}