Support next_send_datetime being blank

This commit is contained in:
Hillel Coren 2023-05-23 09:02:13 +03:00
parent 352f0a90b1
commit fd9e9318cf
4 changed files with 19 additions and 9 deletions

View File

@ -828,8 +828,13 @@ abstract class InvoiceEntity extends Object
response = invoiceA.dueDate.compareTo(invoiceB.dueDate); response = invoiceA.dueDate.compareTo(invoiceB.dueDate);
break; break;
case InvoiceFields.nextSendDate: case InvoiceFields.nextSendDate:
response = if (invoiceA.nextSendDatetime.isNotEmpty &&
invoiceA.nextSendDatetime.compareTo(invoiceB.nextSendDatetime); invoiceB.nextSendDatetime.isNotEmpty) {
response =
invoiceA.nextSendDatetime.compareTo(invoiceB.nextSendDatetime);
} else {
response = invoiceA.nextSendDate.compareTo(invoiceB.nextSendDate);
}
break; break;
case EntityFields.assignedTo: case EntityFields.assignedTo:
final userA = userMap[invoiceA.assignedUserId] ?? UserEntity(); final userA = userMap[invoiceA.assignedUserId] ?? UserEntity();

View File

@ -97,8 +97,10 @@ class InvoicePresenter extends EntityPresenter {
case InvoiceFields.nextSendDate: case InvoiceFields.nextSendDate:
return Text(invoice.isPaid return Text(invoice.isPaid
? '' ? ''
: formatDate(invoice.nextSendDatetime, context, : invoice.nextSendDatetime.isNotEmpty
showTime: true, showSeconds: false)); ? formatDate(invoice.nextSendDatetime, context,
showTime: true, showSeconds: false)
: formatDate(invoice.nextSendDate, context));
case InvoiceFields.reminder1Sent: case InvoiceFields.reminder1Sent:
return Text(formatDate(invoice.reminder1Sent, context)); return Text(formatDate(invoice.reminder1Sent, context));
case InvoiceFields.reminder2Sent: case InvoiceFields.reminder2Sent:

View File

@ -182,9 +182,10 @@ class InvoiceOverview extends StatelessWidget {
formatDate(invoice.lastSentDate, context), formatDate(invoice.lastSentDate, context),
RecurringInvoiceFields.nextSendDate: RecurringInvoiceFields.nextSendDate:
formatDate(invoice.nextSendDate, context), formatDate(invoice.nextSendDate, context),
RecurringInvoiceFields.nextSendTime: formatDate( if (invoice.nextSendDatetime.isNotEmpty)
invoice.nextSendDatetime, context, RecurringInvoiceFields.nextSendTime: formatDate(
showDate: false, showTime: true, showSeconds: false), invoice.nextSendDatetime, context,
showDate: false, showTime: true, showSeconds: false),
RecurringInvoiceFields.remainingCycles: invoice.remainingCycles == -1 RecurringInvoiceFields.remainingCycles: invoice.remainingCycles == -1
? localization.endless ? localization.endless
: '${invoice.remainingCycles}', : '${invoice.remainingCycles}',

View File

@ -114,8 +114,10 @@ class RecurringInvoicePresenter extends EntityPresenter {
? localization.endless ? localization.endless
: '${invoice.remainingCycles}'); : '${invoice.remainingCycles}');
case RecurringInvoiceFields.nextSendDate: case RecurringInvoiceFields.nextSendDate:
return Text(formatDate(invoice.nextSendDatetime, context, return Text(invoice.nextSendDatetime.isNotEmpty
showTime: true, showSeconds: false)); ? formatDate(invoice.nextSendDatetime, context,
showTime: true, showSeconds: false)
: formatDate(invoice.nextSendDate, context));
case RecurringInvoiceFields.frequency: case RecurringInvoiceFields.frequency:
return Text(localization.lookup(kFrequencies[invoice.frequencyId])); return Text(localization.lookup(kFrequencies[invoice.frequencyId]));
case RecurringInvoiceFields.dueDateDays: case RecurringInvoiceFields.dueDateDays: