[evolution-ews] Extra attributes for modified tasks
- From: Or Goshen <ogosh src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-ews] Extra attributes for modified tasks
- Date: Wed, 6 Jul 2011 14:59:35 +0000 (UTC)
commit 2755c9185e84402cc71a8047a7fea1e4ce558ec9
Author: Or Goshen <orx goshen intel com>
Date: Wed Jul 6 18:07:45 2011 +0300
Extra attributes for modified tasks
src/calendar/e-cal-backend-ews.c | 48 +++++++++++++++++++++++++++++++++++++-
1 files changed, 47 insertions(+), 1 deletions(-)
---
diff --git a/src/calendar/e-cal-backend-ews.c b/src/calendar/e-cal-backend-ews.c
index ecb69eb..185190e 100644
--- a/src/calendar/e-cal-backend-ews.c
+++ b/src/calendar/e-cal-backend-ews.c
@@ -1691,11 +1691,57 @@ convert_vtodo_component_to_updatexml (ESoapMessage *msg, gpointer user_data)
{
EwsModifyData *modify_data = user_data;
icalcomponent *icalcomp = e_cal_component_get_icalcomponent (modify_data->comp);
+ icalproperty *prop;
+ icaltimetype dt;
+ int value;
+ char buffer[16];
e_ews_message_start_item_change (msg, E_EWS_ITEMCHANGE_TYPE_ITEM,
modify_data->itemid, modify_data->changekey, 0);
- convert_property_to_updatexml (msg, "Subject", icalcomponent_get_summary(icalcomp), "item", NULL, NULL);
+ e_ews_message_write_string_parameter(msg, "Subject", NULL, icalcomponent_get_summary(icalcomp));
+
+ e_ews_message_write_string_parameter_with_attribute (msg, "Body", NULL, icalcomponent_get_description (icalcomp), "BodyType", "Text");
+
+ prop = icalcomponent_get_first_property (icalcomp, ICAL_CREATED_PROPERTY);
+ if (prop) {
+ dt = icalproperty_get_created (prop);
+ ewscal_set_time (msg, "DateTimeCreated", &dt);
+ }
+
+ prop = icalcomponent_get_first_property (icalcomp, ICAL_DUE_PROPERTY);
+ if (prop) {
+ dt = icalproperty_get_due (prop);
+ ewscal_set_time (msg, "DueDate", &dt);
+ }
+
+ prop = icalcomponent_get_first_property (icalcomp, ICAL_PERCENTCOMPLETE_PROPERTY);
+ if (prop) {
+ value = icalproperty_get_percentcomplete (prop);
+ snprintf (buffer, 16, "%d", value);
+ e_ews_message_write_string_parameter(msg, "PercentComplete", NULL, buffer);
+ }
+
+ prop = icalcomponent_get_first_property (icalcomp, ICAL_DTSTART_PROPERTY);
+ if (prop) {
+ dt = icalproperty_get_dtstart (prop);
+ ewscal_set_time (msg, "StartDate", &dt);
+ }
+
+ prop = icalcomponent_get_first_property (icalcomp, ICAL_STATUS_PROPERTY);
+ if (prop) {
+ switch (icalproperty_get_status (prop)) {
+ case ICAL_STATUS_INPROCESS:
+ e_ews_message_write_string_parameter(msg, "Status", NULL, "InProgress");
+ break;
+ case ICAL_STATUS_COMPLETED:
+ e_ews_message_write_string_parameter(msg, "Status", NULL, "Completed");
+ break;
+ default:
+ break;
+ }
+ ewscal_set_time (msg, "StartDate", &dt);
+ }
e_ews_message_end_item_change (msg);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]