[FIX] web: calendar: set event without time as all day
Before this commit, when an event had only a date, the event was set to midnight. This commit sets the event as all day event if the field used as start date is only a date and not a datetime.
This commit is contained in:
@@ -614,7 +614,8 @@ return AbstractModel.extend({
|
||||
if (this.mapping.all_day && evt[this.mapping.all_day]) {
|
||||
date_stop.add(1, 'days');
|
||||
}
|
||||
|
||||
var isAllDay = this.fields[this.mapping.date_start].type === 'date' ||
|
||||
this.mapping.all_day && evt[this.mapping.all_day] || false;
|
||||
var r = {
|
||||
'record': evt,
|
||||
'start': date_start,
|
||||
@@ -622,7 +623,7 @@ return AbstractModel.extend({
|
||||
'r_start': date_start,
|
||||
'r_end': date_stop,
|
||||
'title': the_title,
|
||||
'allDay': this.mapping.all_day && evt[this.mapping.all_day] || false,
|
||||
'allDay': isAllDay,
|
||||
'id': evt.id,
|
||||
'attendees':attendees,
|
||||
};
|
||||
|
||||
@@ -1257,6 +1257,37 @@ QUnit.module('Views', {
|
||||
calendar.destroy();
|
||||
$view.remove();
|
||||
});
|
||||
|
||||
QUnit.test('set event as all day when field is date', function (assert) {
|
||||
assert.expect(1);
|
||||
|
||||
this.data.event.records[0].start_date = "2016-12-14";
|
||||
|
||||
var calendar = createView({
|
||||
View: CalendarView,
|
||||
model: 'event',
|
||||
data: this.data,
|
||||
arch:
|
||||
'<calendar class="o_calendar_test" '+
|
||||
'event_open_popup="true" '+
|
||||
'date_start="start_date" '+
|
||||
'all_day="allday" '+
|
||||
'mode="week" '+
|
||||
'attendee="partner_ids" '+
|
||||
'color="partner_id">'+
|
||||
'<field name="name"/>'+
|
||||
'<filter name="user_id" avatar_field="image"/>'+
|
||||
'<field name="partner_ids" write_model="filter_partner" write_field="partner_id"/>'+
|
||||
'</calendar>',
|
||||
archs: archs,
|
||||
viewOptions: {
|
||||
initialDate: initialDate,
|
||||
},
|
||||
});
|
||||
assert.strictEqual(calendar.$('.fc-day-grid .fc-event-container').length, 1,
|
||||
"should be one event in the all day row");
|
||||
calendar.destroy();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user