[Calendar] Fix for reccurrence rule.
authorTomasz Marciniak <t.marciniak@samsung.com>
Tue, 22 Sep 2015 12:01:26 +0000 (14:01 +0200)
committerTomasz Marciniak <t.marciniak@samsung.com>
Tue, 22 Sep 2015 12:12:25 +0000 (21:12 +0900)
[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 <t.marciniak@samsung.com>
src/calendar/calendar_item.cc

index 9bdaeab83fca89558ce46764b120ac05182919b2..d221776421430e98127d829545c18e95f6cc792a 100755 (executable)
@@ -1379,16 +1379,6 @@ PlatformResult CalendarItem::RecurrenceRuleToJson(calendar_record_h rec,
   }
   out["interval"] = picojson::value(static_cast<double>(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<double>(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<double>(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()) {