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:
if (invoiceA.nextSendDatetime.isNotEmpty &&
invoiceB.nextSendDatetime.isNotEmpty) {
response = response =
invoiceA.nextSendDatetime.compareTo(invoiceB.nextSendDatetime); 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,6 +182,7 @@ class InvoiceOverview extends StatelessWidget {
formatDate(invoice.lastSentDate, context), formatDate(invoice.lastSentDate, context),
RecurringInvoiceFields.nextSendDate: RecurringInvoiceFields.nextSendDate:
formatDate(invoice.nextSendDate, context), formatDate(invoice.nextSendDate, context),
if (invoice.nextSendDatetime.isNotEmpty)
RecurringInvoiceFields.nextSendTime: formatDate( RecurringInvoiceFields.nextSendTime: formatDate(
invoice.nextSendDatetime, context, invoice.nextSendDatetime, context,
showDate: false, showTime: true, showSeconds: false), showDate: false, showTime: true, showSeconds: false),

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: