Prevent errors due to missing date fields

This commit is contained in:
Nicu Tofan 2018-06-27 16:25:57 +03:00
parent 18467dfe40
commit 19d239f4cf
No known key found for this signature in database
GPG key ID: 7EE66E95E64FD0B7

View file

@ -218,11 +218,14 @@ class CardReceivedDate extends CardDate {
} }
classes() { classes() {
let classes = 'received-date' + ' '; let classes = 'received-date ';
const dueAt = this.data().dueAt;
if (dueAt) {
if (this.date.get().isBefore(this.now.get(), 'minute') && if (this.date.get().isBefore(this.now.get(), 'minute') &&
this.now.get().isBefore(this.data().dueAt)) { this.now.get().isBefore(dueAt)) {
classes += 'current'; classes += 'current';
} }
}
return classes; return classes;
} }
@ -249,10 +252,13 @@ class CardStartDate extends CardDate {
classes() { classes() {
let classes = 'start-date' + ' '; let classes = 'start-date' + ' ';
const dueAt = this.data().dueAt;
if (dueAt) {
if (this.date.get().isBefore(this.now.get(), 'minute') && if (this.date.get().isBefore(this.now.get(), 'minute') &&
this.now.get().isBefore(this.data().dueAt)) { this.now.get().isBefore(dueAt)) {
classes += 'current'; classes += 'current';
} }
}
return classes; return classes;
} }
@ -279,18 +285,23 @@ class CardDueDate extends CardDate {
classes() { classes() {
let classes = 'due-date' + ' '; let classes = 'due-date' + ' ';
// if endAt exists & is < dueAt, dueAt doesn't need to be flagged // if endAt exists & is < dueAt, dueAt doesn't need to be flagged
if ((this.data().endAt !== 0) && const endAt = this.data().endAt;
(this.data().endAt !== null) && const theDate = this.date.get();
(this.data().endAt !== '') && const now = this.now.get();
(this.data().endAt !== undefined) &&
(this.date.get().isBefore(this.data().endAt))) if ((endAt !== 0) &&
(endAt !== null) &&
(endAt !== '') &&
(endAt !== undefined) &&
(theDate.isBefore(endAt)))
classes += 'current'; classes += 'current';
else if (this.now.get().diff(this.date.get(), 'days') >= 2) else if (now.diff(theDate, 'days') >= 2)
classes += 'long-overdue'; classes += 'long-overdue';
else if (this.now.get().diff(this.date.get(), 'minute') >= 0) else if (now.diff(theDate, 'minute') >= 0)
classes += 'due'; classes += 'due';
else if (this.now.get().diff(this.date.get(), 'days') >= -1) else if (now.diff(theDate, 'days') >= -1)
classes += 'almost-due'; classes += 'almost-due';
return classes; return classes;
} }
@ -318,12 +329,16 @@ class CardEndDate extends CardDate {
classes() { classes() {
let classes = 'end-date' + ' '; let classes = 'end-date' + ' ';
if (this.data.dueAt.diff(this.date.get(), 'days') >= 2) const dueAt = this.data.dueAt;
if (dueAt) {
const diff = dueAt.diff(this.date.get(), 'days');
if (diff >= 2)
classes += 'long-overdue'; classes += 'long-overdue';
else if (this.data.dueAt.diff(this.date.get(), 'days') > 0) else if (diff > 0)
classes += 'due'; classes += 'due';
else if (this.data.dueAt.diff(this.date.get(), 'days') <= 0) else if (diff <= 0)
classes += 'current'; classes += 'current';
}
return classes; return classes;
} }