From: Tomasz Marciniak Date: Tue, 22 Sep 2015 12:01:26 +0000 (+0200) Subject: [Calendar] Fix for reccurrence rule. X-Git-Tag: submit/tizen/20151026.073646^2^2~85^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c4669075b40f20eaf5abc0dab7005d0f2e2684db;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Calendar] Fix for reccurrence rule. [Verification] Code compiles. TCT pass rate 100% Events notifications are visible now. Application Child Vacine Reminder works (http://168.219.209.56/jira/browse/TNEF-4461) Change-Id: Ibae285f7b569e639c3cbe8769daa32261dac39e8 Signed-off-by: Tomasz Marciniak --- diff --git a/src/calendar/calendar_item.cc b/src/calendar/calendar_item.cc index 9bdaeab8..d2217764 100755 --- a/src/calendar/calendar_item.cc +++ b/src/calendar/calendar_item.cc @@ -1379,16 +1379,6 @@ PlatformResult CalendarItem::RecurrenceRuleToJson(calendar_record_h rec, } out["interval"] = picojson::value(static_cast(interval)); - int occurrence_count; - status = - CalendarRecord::GetInt(rec, _calendar_event.count, &occurrence_count); - if (status.IsError()) { - LoggerE("Error: %s", status.message().c_str()); - return status; - } - out["occurrenceCount"] = - picojson::value(static_cast(occurrence_count)); - calendar_time_s cal = {CALENDAR_TIME_UTIME, {0}}; calendar_record_get_caltime(rec, _calendar_event.until_time, &cal); if (cal.time.utime > 0 && CALENDAR_RECORD_NO_UNTIL != cal.time.utime) { @@ -1866,13 +1856,25 @@ PlatformResult CalendarItem::ToJson(int type, calendar_record_h rec, } out["availability"] = picojson::value(enum_str); - picojson::object rec_rule = picojson::object(); - status = RecurrenceRuleToJson(rec, &rec_rule); + //check if reccurence count is greater than 0 + int occurrence_count; + status = CalendarRecord::GetInt(rec, _calendar_event.count, &occurrence_count); if (status.IsError()) { LoggerE("Error: %s", status.message().c_str()); return status; } - out["recurrenceRule"] = picojson::value(rec_rule); + + if (occurrence_count) { + picojson::object rec_rule = picojson::object(); + rec_rule["occurrenceCount"] = picojson::value(static_cast(occurrence_count)); + + status = RecurrenceRuleToJson(rec, &rec_rule); + if (status.IsError()) { + LoggerE("Error: %s", status.message().c_str()); + return status; + } + out["recurrenceRule"] = picojson::value(rec_rule); + } } else { status = GetEnum(type, rec, "status", kTaskStatus, &enum_str); if (status.IsError()) {