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);
break;
case InvoiceFields.nextSendDate:
if (invoiceA.nextSendDatetime.isNotEmpty &&
invoiceB.nextSendDatetime.isNotEmpty) {
response =
invoiceA.nextSendDatetime.compareTo(invoiceB.nextSendDatetime);
} else {
response = invoiceA.nextSendDate.compareTo(invoiceB.nextSendDate);
}
break;
case EntityFields.assignedTo:
final userA = userMap[invoiceA.assignedUserId] ?? UserEntity();

View File

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

View File

@ -182,6 +182,7 @@ class InvoiceOverview extends StatelessWidget {
formatDate(invoice.lastSentDate, context),
RecurringInvoiceFields.nextSendDate:
formatDate(invoice.nextSendDate, context),
if (invoice.nextSendDatetime.isNotEmpty)
RecurringInvoiceFields.nextSendTime: formatDate(
invoice.nextSendDatetime, context,
showDate: false, showTime: true, showSeconds: false),

View File

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