Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1
evolution-data-server
bnc-443544-eds-free-busy.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bnc-443544-eds-free-busy.patch of Package evolution-data-server
Index: calendar/backends/groupwise/e-cal-backend-groupwise-utils.c =================================================================== --- calendar/backends/groupwise/e-cal-backend-groupwise-utils.c (revision 9879) +++ calendar/backends/groupwise/e-cal-backend-groupwise-utils.c (revision 9881) @@ -1785,6 +1785,7 @@ ECalComponentAttendee attendee; GSList *attendee_list = NULL; icalcomponent *icalcomp = NULL; + icaltimetype start_time, end_time; tmp = soup_soap_parameter_get_first_child_by_name (subparam, "email"); if (tmp) @@ -1801,6 +1802,11 @@ e_cal_component_commit_sequence (comp); icalcomp = e_cal_component_get_icalcomponent (comp); + start_time = icaltime_from_timet_with_zone (start, 0, default_zone ? default_zone : NULL); + end_time = icaltime_from_timet_with_zone (end, 0, default_zone ? default_zone : NULL); + icalcomponent_set_dtstart (icalcomp, start_time); + icalcomponent_set_dtend (icalcomp, end_time); + memset (&attendee, 0, sizeof (ECalComponentAttendee)); if (name) attendee.cn = name; @@ -1829,7 +1835,24 @@ return E_GW_CONNECTION_STATUS_INVALID_RESPONSE; } - for (subparam_block = soup_soap_parameter_get_first_child_by_name (param_blocks, "block"); + subparam_block = soup_soap_parameter_get_first_child_by_name (param_blocks, "block"); + /* The GW server only returns 'Busy', 'OOF' and 'Tentative' periods. The rest are + * assumed to be 'Free' periods. In case of an attendee having only 'Free' periods, + * ensure to send a block to the frontend saying so. */ + if (subparam_block == NULL) { + struct icalperiodtype ipt; + icaltimetype sitt, eitt; + icalproperty *icalprop; + sitt = icaltime_from_timet_with_zone (start, 0, default_zone ? default_zone : NULL); + ipt.start = sitt; + eitt = icaltime_from_timet_with_zone (end, 0, default_zone ? default_zone : NULL); + ipt.end = eitt; + icalprop = icalproperty_new_freebusy (ipt); + icalproperty_set_parameter_from_string (icalprop, "FBTYPE", "FREE"); + icalcomponent_add_property(icalcomp, icalprop); + } + + for (; subparam_block != NULL; subparam_block = soup_soap_parameter_get_next_child_by_name (subparam_block, "block")) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor