56 lines
2.2 KiB
Diff
56 lines
2.2 KiB
Diff
Index: addressbook/backends/groupwise/e-book-backend-groupwise.c
|
|
===================================================================
|
|
--- addressbook/backends/groupwise/e-book-backend-groupwise.c (revision 9761)
|
|
+++ addressbook/backends/groupwise/e-book-backend-groupwise.c (working copy)
|
|
@@ -1168,7 +1168,9 @@
|
|
int element_type;
|
|
int i;
|
|
gboolean is_contact_list;
|
|
+ gboolean is_organization;
|
|
|
|
+ is_organization = e_gw_item_get_item_type (item) == E_GW_ITEM_TYPE_ORGANISATION ? TRUE: FALSE;
|
|
is_contact_list = e_gw_item_get_item_type (item) == E_GW_ITEM_TYPE_GROUP ? TRUE: FALSE;
|
|
e_contact_set (contact, E_CONTACT_IS_LIST, GINT_TO_POINTER (is_contact_list));
|
|
if (is_contact_list)
|
|
@@ -1179,9 +1181,11 @@
|
|
|
|
if(element_type == ELEMENT_TYPE_SIMPLE) {
|
|
if (mappings[i].field_id != E_CONTACT_BOOK_URI) {
|
|
- value = e_gw_item_get_field_value (item, mappings[i].element_name);
|
|
- if(value != NULL)
|
|
- e_contact_set (contact, mappings[i].field_id, value);
|
|
+ if (!is_organization) {
|
|
+ value = e_gw_item_get_field_value (item, mappings[i].element_name);
|
|
+ if(value != NULL)
|
|
+ e_contact_set (contact, mappings[i].field_id, value);
|
|
+ }
|
|
}
|
|
} else if (element_type == ELEMENT_TYPE_COMPLEX) {
|
|
if (mappings[i].field_id == E_CONTACT_CATEGORIES) {
|
|
@@ -1251,10 +1255,6 @@
|
|
element_type = mappings[i].element_type;
|
|
if (element_type == ELEMENT_TYPE_SIMPLE) {
|
|
value = e_contact_get(contact, mappings[i].field_id);
|
|
- if (mappings[i].field_id == E_CONTACT_ORG) {
|
|
- set_organization_in_gw_item (item, contact, egwb);
|
|
- continue;
|
|
- }
|
|
if (value != NULL)
|
|
e_gw_item_set_field_value (item, mappings[i].element_name, value);
|
|
} else if (element_type == ELEMENT_TYPE_COMPLEX) {
|
|
@@ -1453,14 +1453,7 @@
|
|
|
|
if (e_contact_get (contact, E_CONTACT_IS_LIST))
|
|
set_member_changes (new_item, old_item, egwb);
|
|
- new_org = e_gw_item_get_field_value (new_item, "organization");
|
|
- old_org = e_gw_item_get_field_value (old_item, "organization");
|
|
- if (new_org && *new_org) {
|
|
|
|
- if ((old_org == NULL) || (old_org && strcmp (new_org, old_org)) != 0)
|
|
- set_organization_in_gw_item (new_item, contact, egwb);
|
|
- }
|
|
-
|
|
set_changes_in_gw_item (new_item, old_item);
|
|
|
|
e_gw_item_set_item_type (new_item, e_gw_item_get_item_type (old_item));
|