Monotone-Parent: efd9926cc2f7cfa8385ca79896abdf82e8b16d59
Monotone-Revision: c9246310f08403905093c99e74adb38f7c4c3c7e Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-02-06T20:09:56 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
c2635c9eba
commit
2765c2a2ec
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -60,15 +60,6 @@
|
|||
return currentContact;
|
||||
}
|
||||
|
||||
- (NSString *) currentCName
|
||||
{
|
||||
NSString *cName;
|
||||
|
||||
cName = [currentContact objectForKey: @"c_name"];
|
||||
|
||||
return [cName stringByEscapingURL];
|
||||
}
|
||||
|
||||
- (id <WOActionResults>) mailerContactsAction
|
||||
{
|
||||
selectorComponentClass = @"UIxContactsMailerSelection";
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue