diff --git a/addons/web_calendar/static/src/js/web_calendar.js b/addons/web_calendar/static/src/js/web_calendar.js index 380df1f4d4c..552e6a30b47 100644 --- a/addons/web_calendar/static/src/js/web_calendar.js +++ b/addons/web_calendar/static/src/js/web_calendar.js @@ -197,6 +197,13 @@ openerp.web_calendar = function(instance) { } else { this.avatar_title = attrs.avatar_title; } + + if (isNullOrUndef(attrs.avatar_filter)) { + this.avatar_filter = this.avatar_model; + } else { + this.avatar_filter = attrs.avatar_filter; + } + this.color_field = attrs.color; if (this.color_field && this.selected_filters.length === 0) { @@ -578,7 +585,7 @@ openerp.web_calendar = function(instance) { if (!self.colorIsAttendee || the_attendee_people != temp_ret[self.color_field]) { tempColor = (self.all_filters[the_attendee_people] !== undefined) ? self.all_filters[the_attendee_people].color - : self.all_filters[-1].color; + : (self.all_filters[-1] ? self.all_filters[-1].color : 1); the_title_avatar += ''; }//else don't add myself } @@ -701,7 +708,6 @@ openerp.web_calendar = function(instance) { } if (!self.useContacts) { // If we use all peoples displayed in the current month as filter in sidebars - var filter_value; var filter_item; @@ -714,7 +720,7 @@ openerp.web_calendar = function(instance) { value: filter_value, label: e[self.color_field][1], color: self.get_color(filter_value), - avatar_model: self.avatar_model, + avatar_model: (_.str.toBoolElse(self.avatar_filter, true) ? self.avatar_filter : false ), is_checked: true }; self.all_filters[e[self.color_field][0]] = filter_item; @@ -735,7 +741,7 @@ openerp.web_calendar = function(instance) { return null; }); } - return self.perform_necessary_name_gets(events).then(callback); + } else { //WE USE CONTACT if (self.attendee_people !== undefined) { @@ -752,25 +758,27 @@ openerp.web_calendar = function(instance) { } } - var all_attendees = $.map(events, function (e) { return e[self.attendee_people]; }); - all_attendees = _.chain(all_attendees).flatten().uniq().value(); + + } - self.all_attendees = {}; - if (self.avatar_title !== null) { - new instance.web.Model(self.avatar_title).query(["name"]).filter([["id", "in", all_attendees]]).all().then(function(result) { - _.each(result, function(item) { - self.all_attendees[item.id] = item.name; - }); - }).done(function() { - return self.perform_necessary_name_gets(events).then(callback); - }); - } - else { - _.each(all_attendees,function(item){ - self.all_attendees[item] = ''; + var all_attendees = $.map(events, function (e) { return e[self.attendee_people]; }); + all_attendees = _.chain(all_attendees).flatten().uniq().value(); + + self.all_attendees = {}; + if (self.avatar_title !== null) { + new instance.web.Model(self.avatar_title).query(["name"]).filter([["id", "in", all_attendees]]).all().then(function(result) { + _.each(result, function(item) { + self.all_attendees[item.id] = item.name; }); + }).done(function() { return self.perform_necessary_name_gets(events).then(callback); - } + }); + } + else { + _.each(all_attendees,function(item){ + self.all_attendees[item] = ''; + }); + return self.perform_necessary_name_gets(events).then(callback); } }); },