[evolution-patches] patch for the bug #64682 [calendar]



Hi,
  Have attached the patch for the evolution part and the EDS part.

thanks, chenthill.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2518
diff -u -p -r1.2518 ChangeLog
--- ChangeLog	27 Sep 2004 14:14:11 -0000	1.2518
+++ ChangeLog	29 Sep 2004 16:02:09 -0000
@@ -1,3 +1,10 @@
+2004-09-29  Chenthill Palanisamy  <pchenthill novell com>
+
+	Fixes #64682
+	* gui/e-calendar-view.c (transfer_item_to):
+	Added an X property so that backend could identify
+	that the appointment has been moved from another calendar.
+
 2004-09-24  Rodrigo Moya <rodrigo novell com>
 
 	Fixes #65599
Index: gui/e-calendar-view.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-view.c,v
retrieving revision 1.63
diff -u -p -r1.63 e-calendar-view.c
--- gui/e-calendar-view.c	10 Aug 2004 14:04:20 -0000	1.63
+++ gui/e-calendar-view.c	29 Sep 2004 16:02:09 -0000
@@ -1110,6 +1110,7 @@ transfer_item_to (ECalendarViewEvent *ev
 	const char *uid;
 	char *new_uid;
 	icalcomponent *orig_icalcomp;
+	icalproperty *icalprop;
 
 	uid = icalcomponent_get_uid (event->comp_data->icalcomp);
 
@@ -1121,6 +1122,10 @@ transfer_item_to (ECalendarViewEvent *ev
 			return;
 	} else {
 		orig_icalcomp = icalcomponent_new_clone (event->comp_data->icalcomp);
+
+		icalprop = icalproperty_new_x ("1");
+		icalproperty_set_x_name (icalprop, "X-EVOLUTION-MOVE-CALENDAR");
+		icalcomponent_add_property (orig_icalcomp, icalprop);
 
 		if (!remove_item) {
 			/* change the UID to avoid problems with duplicated UIDs */
Index: servers/groupwise/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/groupwise/ChangeLog,v
retrieving revision 1.102
diff -u -p -r1.102 ChangeLog
--- servers/groupwise/ChangeLog	20 Jan 2005 06:48:23 -0000	1.102
+++ servers/groupwise/ChangeLog	25 Jan 2005 08:25:26 -0000
@@ -1,3 +1,9 @@
+2005-01-25  Chenthill Palanisamy  <pchenthill novell com>
+
+
+	* e-gw-item.c: (e_gw_item_set_calendar_item_elements):
+	Write the source to the SOAP message.
+
 2005-01-20  Parthasarathi Susarla <sparthasarathi novell com>
 
 	* e-gw-container.[ch] (e_gw_container_set_from_soap_parameter):
Index: servers/groupwise/e-gw-item.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/groupwise/e-gw-item.c,v
retrieving revision 1.64
diff -u -p -r1.64 e-gw-item.c
--- servers/groupwise/e-gw-item.c	18 Jan 2005 11:24:51 -0000	1.64
+++ servers/groupwise/e-gw-item.c	25 Jan 2005 08:25:28 -0000
@@ -2539,6 +2539,9 @@ e_gw_item_set_calendar_item_elements (EG
 	if (priv->container)
 		e_gw_message_write_string_parameter (msg, "container", NULL, priv->container);
 
+	if (item->priv->source)
+		e_gw_message_write_string_parameter (msg, "source", NULL, item->priv->source );
+
 	if (priv->classification)
 		e_gw_message_write_string_parameter (msg, "class", NULL, priv->classification);
 	else
Index: calendar/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.390
diff -u -p -r1.390 ChangeLog
--- calendar/ChangeLog	24 Jan 2005 10:29:04 -0000	1.390
+++ calendar/ChangeLog	25 Jan 2005 08:25:31 -0000
@@ -1,3 +1,11 @@
+2005-01-20  Chenthill Palanisamy  <pchenthill novell com>
+
+	Fixes #64682
+	* backends/groupwise/e-cal-backend-groupwise-utils.c
+	(e_gw_connection_create_appointment) : If the appointment
+	is moved from another calendar use createItem request with 
+	the source as Personal.
+	
 2005-01-24  Harish Krishnaswamy  <kharish novell com>
 
 	* backends/groupwise/e-cal-backend-groupwise-utils.c
Index: calendar/backends/groupwise/e-cal-backend-groupwise-utils.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/groupwise/e-cal-backend-groupwise-utils.c,v
retrieving revision 1.46
diff -u -p -r1.46 e-cal-backend-groupwise-utils.c
--- calendar/backends/groupwise/e-cal-backend-groupwise-utils.c	24 Jan 2005 10:29:05 -0000	1.46
+++ calendar/backends/groupwise/e-cal-backend-groupwise-utils.c	25 Jan 2005 08:25:32 -0000
@@ -1077,7 +1077,7 @@ e_gw_connection_send_appointment (ECalBa
 				
 				if (!g_strncasecmp (email_id, "mailto:";, 7))
 					email_id += 7;
-			
+
 				if (!g_ascii_strcasecmp (email_id, e_gw_connection_get_user_email (cnc))) {
 					attendee = tmp;
 					break;
@@ -1151,13 +1151,38 @@ e_gw_connection_create_appointment (EGwC
 {
 	EGwItem *item;
 	EGwConnectionStatus status;
+	icalproperty *icalprop;
+	gboolean move_cal = FALSE;
+	icalcomponent *icalcomp;
+	char *id;
 
 	g_return_val_if_fail (E_IS_GW_CONNECTION (cnc), E_GW_CONNECTION_STATUS_INVALID_CONNECTION);
 	g_return_val_if_fail (E_IS_CAL_COMPONENT (comp), E_GW_CONNECTION_STATUS_INVALID_OBJECT);
 
+	icalcomp = e_cal_component_get_icalcomponent (comp);
+
+	icalprop = icalcomponent_get_first_property (icalcomp, ICAL_X_PROPERTY);
+	while (icalprop) {
+		const char *x_name;
+
+		x_name = icalproperty_get_x_name (icalprop);
+		if (!strcmp (x_name, "X-EVOLUTION-MOVE-CALENDAR")) {
+			move_cal = TRUE;
+			break;
+		}
+
+		icalprop = icalcomponent_get_next_property (icalcomp, ICAL_X_PROPERTY);
+	}
+
 	item = e_gw_item_new_from_cal_component (container, cbgw, comp);
 	e_gw_item_set_container_id (item, container);
-	status = e_gw_connection_send_item (cnc, item, id_list);
+	if (!move_cal)
+		status = e_gw_connection_send_item (cnc, item, id_list);
+	else {
+		e_gw_item_set_source (item, "personal");
+		status = e_gw_connection_create_item (cnc, item, &id);
+		*id_list = g_slist_append (*id_list, id);
+	}
 	g_object_unref (item);
 
 	return status;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]