diff --git a/NEWS b/NEWS index cbff4c84d..dd9490652 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,7 @@ Bug fixes - [web] fixed missing CC or BCC when specified before sending message (#3944) - [web] enabled Save button after deleting attributes from a card (#4095) - [web] don't show Copy To and Move To menu options when user has a single address book + - [web] fixed display of category colors in events and tasks lists - [eas] fixed opacity in EAS freebusy (#4033) 3.2.7 (2017-02-14) diff --git a/UI/WebServerResources/js/Scheduler/Component.service.js b/UI/WebServerResources/js/Scheduler/Component.service.js index 34ca4fe54..8fcf20408 100644 --- a/UI/WebServerResources/js/Scheduler/Component.service.js +++ b/UI/WebServerResources/js/Scheduler/Component.service.js @@ -316,10 +316,6 @@ componentData.hour = start.getHourString(); componentData.blocks = []; component = new Component(componentData); - // Filter out categories for which there's no associated color - component.categories = _.filter(component.categories, function(name) { - return Component.$Preferences.defaults.SOGoCalendarCategoriesColors[name]; - }); objects.push(component); return objects; }; @@ -437,10 +433,6 @@ _.reduce(data[type], function(components, componentData, i) { var data = _.zipObject(fields, componentData), component; component = new Component(data); - // Filter out categories for which there's no associated color - component.categories = _.filter(component.categories, function(name) { - return Component.$Preferences.defaults.SOGoCalendarCategoriesColors[name]; - }); components.push(component); return components; }, components); @@ -539,8 +531,15 @@ else if (this.type == 'task') this.completed = new Date(); - if (this.c_category) - this.categories = _.invokeMap(this.c_category, 'asCSSIdentifier'); + if (this.c_category) { + // c_category is only defined in list mode (when calling $filter) + Component.$Preferences.ready().then(function() { + // Filter out categories for which there's no associated color + _this.categories = _.invokeMap(_.filter(_this.c_category, function(name) { + return Component.$Preferences.defaults.SOGoCalendarCategoriesColors[name]; + }), 'asCSSIdentifier'); + }); + } // Parse recurrence rule definition and initialize default values this.$isRecurrent = angular.isDefined(data.repeat);