[FIX] web: calendar: prevent crash when loading data with avatar
This commit is contained in:
committed by
Aaron Bohy
parent
f3d7b7e420
commit
5e3c4dd434
@@ -198,7 +198,6 @@ return AbstractRenderer.extend({
|
||||
*/
|
||||
getAvatars: function (record, fieldName, imageField) {
|
||||
var field = this.state.fields[fieldName];
|
||||
var value = this._format(record, fieldName);
|
||||
|
||||
if (!record[fieldName]) {
|
||||
return [];
|
||||
@@ -210,6 +209,7 @@ return AbstractRenderer.extend({
|
||||
} else if (field.type === 'many2one') {
|
||||
return ['<img src="/web/image/'+field.relation+'/'+record[fieldName][0]+'/'+imageField+'" />'];
|
||||
} else {
|
||||
var value = this._format(record, fieldName);
|
||||
var color = this.getColor(value);
|
||||
if (isNaN(color)) {
|
||||
return ['<span class="o_avatar_square" style="background-color:'+color+';"/>'];
|
||||
|
||||
@@ -315,6 +315,34 @@ QUnit.module('Views', {
|
||||
calendar.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('rendering, with many2many', function (assert) {
|
||||
assert.expect(1);
|
||||
|
||||
this.data.event.fields.partner_ids.type = 'many2many';
|
||||
|
||||
var calendar = createView({
|
||||
View: CalendarView,
|
||||
model: 'event',
|
||||
data: this.data,
|
||||
arch:
|
||||
'<calendar class="o_calendar_test" '+
|
||||
'date_start="start" '+
|
||||
'date_stop="stop" '+
|
||||
'all_day="allday"> '+
|
||||
'<field name="partner_ids" avatar_field="image" write_model="filter_partner" write_field="partner_id"/>'+
|
||||
'</calendar>',
|
||||
archs: archs,
|
||||
mockRPC: mock_check_access_rights,
|
||||
viewOptions: {
|
||||
initialDate: initialDate,
|
||||
},
|
||||
});
|
||||
|
||||
assert.strictEqual(calendar.$('.o_calendar_filter_items .o_cal_avatar').length, 3,
|
||||
"should have 3 avatars in the side bar");
|
||||
|
||||
calendar.destroy();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user