Monotone-Parent: fc9d10c123885769669adb2eef1fa95420c32ff6

Monotone-Revision: 6e9bce1000589aa89ad5a242618e33803b931ca2

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-04-02T20:06:53
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2007-04-02 20:06:53 +00:00
parent ad372b07aa
commit 973fe8eb87
8 changed files with 44 additions and 28 deletions

View File

@ -42,7 +42,7 @@ static NSString *fieldNames[] = {
nil, nil nil, nil
}; };
- (NSMutableDictionary *) extractQuickFieldsFromVCard: (NGVCard *) _vCard - (NSMutableDictionary *) extractQuickFieldsFromVCard: (NGVCard *) vCard
{ {
NSMutableDictionary *fields; NSMutableDictionary *fields;
NSArray *values; NSArray *values;
@ -50,15 +50,15 @@ static NSString *fieldNames[] = {
NSString *value; NSString *value;
unsigned int max; unsigned int max;
if (_vCard == nil) if (vCard == nil)
return nil; return nil;
fields = [NSMutableDictionary dictionaryWithCapacity:16]; fields = [NSMutableDictionary dictionaryWithCapacity:16];
value = [_vCard fn]; value = [vCard fn];
if (value) if (value)
[fields setObject: value forKey: @"cn"]; [fields setObject: value forKey: @"cn"];
values = [_vCard n]; values = [vCard n];
if (values) if (values)
{ {
max = [values count]; max = [values count];
@ -70,26 +70,25 @@ static NSString *fieldNames[] = {
forKey: @"givenName"]; forKey: @"givenName"];
} }
} }
value = [_vCard preferredTel]; value = [vCard preferredTel];
if (value) if (value)
[fields setObject: value forKey: @"telephoneNumber"]; [fields setObject: value forKey: @"telephoneNumber"];
value = [_vCard preferredEMail]; value = [vCard preferredEMail];
if (value) if (value)
[fields setObject: value forKey: @"mail"]; [fields setObject: value forKey: @"mail"];
values = [_vCard org]; values = [vCard org];
if (values) max = [values count];
if (max > 0)
{ {
max = [values count]; [fields setObject: [values objectAtIndex: 0] forKey: @"o"];
if (max > 0) if (max > 1)
{ [fields setObject: [values objectAtIndex: 1] forKey: @"ou"];
[fields setObject: [values objectAtIndex: 0] forKey: @"o"];
if (max > 1)
[fields setObject: [values objectAtIndex: 1] forKey: @"ou"];
}
} }
adr = [_vCard preferredAdr]; adr = [vCard preferredAdr];
if (adr) if (adr)
[fields setObject: [adr value: 3] forKey: @"l"]; [fields setObject: [adr value: 3] forKey: @"l"];
value = [[vCard uniqueChildWithTag: @"X-AIM"] value: 0];
[fields setObject: value forKey: @"screenname"];
return fields; return fields;
} }

View File

@ -24,6 +24,11 @@
sqlType = "VARCHAR(256)"; sqlType = "VARCHAR(256)";
allowsNull = YES; allowsNull = YES;
}, },
{
columnName = screenname;
sqlType = "VARCHAR(256)";
allowsNull = YES;
},
{ {
columnName = l; columnName = l;
sqlType = "VARCHAR(256)"; sqlType = "VARCHAR(256)";

View File

@ -110,6 +110,7 @@ CREATE TABLE SOGo_${USER_TABLE}_contacts_quick (
givenname VARCHAR(256), givenname VARCHAR(256),
cn VARCHAR(256), cn VARCHAR(256),
sn VARCHAR(256), sn VARCHAR(256),
screenname VARCHAR(256),
l VARCHAR(256), l VARCHAR(256),
mail VARCHAR(256), mail VARCHAR(256),
o VARCHAR(256), o VARCHAR(256),

View File

@ -27,8 +27,8 @@
#import "SOGoContactGCSFolder.h" #import "SOGoContactGCSFolder.h"
#define folderListingFields [NSArray arrayWithObjects: @"c_name", @"cn", \ #define folderListingFields [NSArray arrayWithObjects: @"c_name", @"cn", \
@"sn", @"givenname", @"l", \ @"givenname", @"screenname", \
@"mail", @"telephonenumber", \ @"o", @"mail", @"telephonenumber", \
nil] nil]
@implementation SOGoContactGCSFolder @implementation SOGoContactGCSFolder
@ -155,7 +155,7 @@
fields = folderListingFields; fields = folderListingFields;
qualifier = [self _qualifierForFilter: filter]; qualifier = [self _qualifierForFilter: filter];
records = [[self ocsFolder] fetchFields: fields records = [[self ocsFolder] fetchFields: fields
matchingQualifier: qualifier]; matchingQualifier: qualifier];
if (records) if (records)
{ {
ordering ordering

View File

@ -45,6 +45,7 @@
#define folderListingFields [NSArray arrayWithObjects: @"c_name", @"cn", \ #define folderListingFields [NSArray arrayWithObjects: @"c_name", @"cn", \
@"displayName", \ @"displayName", \
@"streetAddress", \ @"streetAddress", \
@"o", \
@"sn", @"givenname", @"l", \ @"sn", @"givenname", @"l", \
@"mail", @"telephonenumber", \ @"mail", @"telephonenumber", \
@"mailNickname", \ @"mailNickname", \

View File

@ -454,6 +454,7 @@
- (void) _saveSnapshot - (void) _saveSnapshot
{ {
CardElement *element; CardElement *element;
NSArray *units;
[card setNWithFamily: [snapshot objectForKey: @"sn"] [card setNWithFamily: [snapshot objectForKey: @"sn"]
given: [snapshot objectForKey: @"givenName"] given: [snapshot objectForKey: @"givenName"]
@ -485,6 +486,10 @@
value: [snapshot objectForKey: @"calFBURL"]]; value: [snapshot objectForKey: @"calFBURL"]];
[card setUniqueChild: element]; [card setUniqueChild: element];
units = [NSArray arrayWithObject: [snapshot objectForKey: @"workService"]];
[card setOrg: [snapshot objectForKey: @"workCompany"]
units: units];
[self _savePhoneValues]; [self _savePhoneValues];
[self _saveEmails]; [self _saveEmails];
[[card uniqueChildWithTag: @"x-aim"] [[card uniqueChildWithTag: @"x-aim"]

View File

@ -15,7 +15,7 @@
<!-- localize --> <!-- localize -->
<td class="tbtv_headercell"> <td class="tbtv_headercell">
<var:component className="UIxSortableTableHeader" <var:component className="UIxSortableTableHeader"
label:label="Lastname" label:label="Name"
const:sortKey="cn" const:sortKey="cn"
const:href="view" const:href="view"
var:queryDictionary="context.request.formValues" var:queryDictionary="context.request.formValues"
@ -23,17 +23,20 @@
</td> </td>
<td class="tbtv_headercell"> <td class="tbtv_headercell">
<var:component className="UIxSortableTableHeader" <var:component className="UIxSortableTableHeader"
label:label="EMail" label:label="Email"
const:sortKey="mail" const:sortKey="mail"
const:href="view" const:href="view"
var:queryDictionary="context.request.formValues" var:queryDictionary="context.request.formValues"
/> />
</td> </td>
<td class="tbtv_headercell"> <td class="tbtv_headercell">
<var:string label:value="Phone" /> <var:string label:value="Screen Name" />
</td> </td>
<td class="tbtv_headercell"> <td class="tbtv_headercell">
<var:string label:value="Location" /> <var:string label:value="Organization" />
</td>
<td class="tbtv_headercell">
<var:string label:value="Work Phone" />
</td> </td>
</tr> </tr>
@ -45,10 +48,12 @@
onclick="return onContactRowClick(event, this);" onclick="return onContactRowClick(event, this);"
ondblclick="return onContactRowDblClick(event, this);" ondblclick="return onContactRowDblClick(event, this);"
oncontextmenu="return onContactContextMenu(event, this);"> oncontextmenu="return onContactContextMenu(event, this);">
<td onmousedown="return false;"><img rsrc:src="abcard.gif" /><var:string value="displayName" const:escapeHTML="YES" /></td> <td onmousedown="return false;"><img rsrc:src="abcard.gif"
<td onmousedown="return false;"><var:string value="currentContact.mail" /></td> /><var:string value="displayName" const:escapeHTML="YES" /></td>
<td onmousedown="return false;"><var:string value="currentContact.telephonenumber" /></td> <td onmousedown="return false;"><var:string value="currentContact.mail"/></td>
<td onmousedown="return false;"><var:string value="currentContact.l" /></td> <td onmousedown="return false;"><var:string value="currentContact.screenname"/></td>
<td onmousedown="return false;"><var:string value="currentContact.o"/></td>
<td onmousedown="return false;"><var:string value="currentContact.telephonenumber"/></td>
</tr> </tr>
</var:foreach> </var:foreach>
</tbody> </tbody>

View File

@ -377,7 +377,7 @@ function onFolderSelectionChange() {
function onSearchFormSubmit() { function onSearchFormSubmit() {
var searchValue = $("searchValue"); var searchValue = $("searchValue");
openContactsFolder(URLForFolderID(currentContactFolder), openContactsFolder(currentContactFolder,
"search=" + searchValue.value); "search=" + searchValue.value);
return false; return false;