From 99622320c8046cdfd15ef2d3bc88e507df00a5ec Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 23 Feb 2022 11:52:07 +0200 Subject: [PATCH] Show if expense are paid --- lib/constants.dart | 4 ++++ lib/data/models/expense_model.dart | 4 ++++ lib/ui/expense/expense_screen.dart | 10 ++++++++++ 3 files changed, 18 insertions(+) diff --git a/lib/constants.dart b/lib/constants.dart index 74b122178..471541966 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -529,11 +529,15 @@ const kPaymentStatuses = { const String kExpenseStatusLogged = '1'; const String kExpenseStatusPending = '2'; const String kExpenseStatusInvoiced = '3'; +const String kExpenseStatusUnpaid = '4'; +const String kExpenseStatusPaid = '5'; const kExpenseStatuses = { kExpenseStatusLogged: 'logged', kExpenseStatusPending: 'pending', kExpenseStatusInvoiced: 'invoiced', + kExpenseStatusUnpaid: 'unpaid', + kExpenseStatusPaid: 'paid', }; const String kDefaultCurrencyId = '1'; diff --git a/lib/data/models/expense_model.dart b/lib/data/models/expense_model.dart index 95df1e766..6077acf0b 100644 --- a/lib/data/models/expense_model.dart +++ b/lib/data/models/expense_model.dart @@ -609,6 +609,10 @@ abstract class ExpenseEntity extends Object !isInvoiced && !isPending) { return true; + } else if (status.id == kExpenseStatusUnpaid && paymentDate.isEmpty) { + return true; + } else if (status.id == kExpenseStatusPaid && paymentDate.isNotEmpty) { + return true; } } diff --git a/lib/ui/expense/expense_screen.dart b/lib/ui/expense/expense_screen.dart index accf4abaf..7d03268ce 100644 --- a/lib/ui/expense/expense_screen.dart +++ b/lib/ui/expense/expense_screen.dart @@ -50,6 +50,16 @@ class ExpenseScreen extends StatelessWidget { ..id = kExpenseStatusInvoiced ..name = localization.invoiced, ), + ExpenseStatusEntity().rebuild( + (b) => b + ..id = kExpenseStatusPaid + ..name = localization.paid, + ), + ExpenseStatusEntity().rebuild( + (b) => b + ..id = kExpenseStatusUnpaid + ..name = localization.unpaid, + ), ]; return ListScaffold(