diff --git a/lib/data/models/invoice_model.dart b/lib/data/models/invoice_model.dart index 698510b4e..e08f87c61 100644 --- a/lib/data/models/invoice_model.dart +++ b/lib/data/models/invoice_model.dart @@ -158,7 +158,6 @@ abstract class InvoiceEntity extends Object isAmountDiscount: false, partial: 0.0, partialDueDate: '', - hasTasks: false, autoBillEnabled: false, customValue1: '', customValue2: '', @@ -168,7 +167,6 @@ abstract class InvoiceEntity extends Object customTaxes2: company?.enableCustomSurchargeTaxes2 ?? false, customTaxes3: company?.enableCustomSurchargeTaxes3 ?? false, customTaxes4: company?.enableCustomSurchargeTaxes4 ?? false, - hasExpenses: false, invoiceId: '', customSurcharge1: 0, customSurcharge2: 0, @@ -472,9 +470,9 @@ abstract class InvoiceEntity extends Object kMillisecondsToRefreshActivities; } - bool get hasTask => lineItems.any((item) => item.isTask); + bool get hasTasks => lineItems.any((item) => item.isTask); - bool get hasExpense => lineItems.any((item) => item.isExpense); + bool get hasExpenses => lineItems.any((item) => item.isExpense); @override bool get isEditable { @@ -1040,7 +1038,6 @@ abstract class InvoiceEntity extends Object // ignore: unused_element static void _initializeBuilder(InvoiceEntityBuilder builder) => builder ..paidToDate = 0 - ..hasTasks = false ..subscriptionId = ''; static Serializer get serializer => _$invoiceEntitySerializer; diff --git a/lib/redux/expense/expense_actions.dart b/lib/redux/expense/expense_actions.dart index 74501b442..fc11558d7 100644 --- a/lib/redux/expense/expense_actions.dart +++ b/lib/redux/expense/expense_actions.dart @@ -283,9 +283,8 @@ void handleExpenseAction( if (items.isNotEmpty) { createEntity( context: context, - entity: InvoiceEntity(state: state, client: client).rebuild((b) => b - ..hasExpenses = true - ..lineItems.addAll(items))); + entity: InvoiceEntity(state: state, client: client) + .rebuild((b) => b..lineItems.addAll(items))); } break; case EntityAction.restore: diff --git a/lib/redux/expense/expense_selectors.dart b/lib/redux/expense/expense_selectors.dart index 7ab030c80..a200945e5 100644 --- a/lib/redux/expense/expense_selectors.dart +++ b/lib/redux/expense/expense_selectors.dart @@ -12,6 +12,7 @@ InvoiceItemEntity convertExpenseToInvoiceItem({ @required CompanyEntity company, }) { return InvoiceItemEntity().rebuild((b) => b + ..typeId = InvoiceItemEntity.TYPE_EXPENSE ..expenseId = expense.id ..productKey = categoryMap[expense.categoryId]?.name ?? '' ..notes = expense.publicNotes diff --git a/lib/redux/invoice/invoice_reducer.dart b/lib/redux/invoice/invoice_reducer.dart index 2c120e90b..5306b6070 100644 --- a/lib/redux/invoice/invoice_reducer.dart +++ b/lib/redux/invoice/invoice_reducer.dart @@ -132,19 +132,11 @@ InvoiceEntity _updateEditing(InvoiceEntity invoice, dynamic action) { InvoiceEntity _addInvoiceItem(InvoiceEntity invoice, AddInvoiceItem action) { final item = action.invoiceItem ?? InvoiceItemEntity(); - return invoice.rebuild((b) => b - ..hasTasks = b.hasTasks || item.isTask - ..hasExpenses = b.hasExpenses || item.isExpense - ..lineItems.add(item)); + return invoice.rebuild((b) => b..lineItems.add(item)); } InvoiceEntity _addInvoiceItems(InvoiceEntity invoice, AddInvoiceItems action) { - return invoice.rebuild((b) => b - ..hasTasks = - b.hasTasks || action.lineItems.where((item) => item.isTask).isNotEmpty - ..hasExpenses = b.hasExpenses || - action.lineItems.where((item) => item.isExpense).isNotEmpty - ..lineItems.addAll(action.lineItems)); + return invoice.rebuild((b) => b..lineItems.addAll(action.lineItems)); } InvoiceEntity _removeInvoiceItem( diff --git a/lib/redux/project/project_actions.dart b/lib/redux/project/project_actions.dart index acdf1750c..d9eb50faa 100644 --- a/lib/redux/project/project_actions.dart +++ b/lib/redux/project/project_actions.dart @@ -286,9 +286,8 @@ void handleProjectAction( convertProjectToInvoiceItem(project: project, context: context); createEntity( context: context, - entity: InvoiceEntity(state: state, client: client).rebuild((b) => b - ..hasTasks = true - ..lineItems.addAll(items))); + entity: InvoiceEntity(state: state, client: client) + .rebuild((b) => b..lineItems.addAll(items))); break; case EntityAction.newExpense: createEntity( diff --git a/lib/redux/recurring_invoice/recurring_invoice_reducer.dart b/lib/redux/recurring_invoice/recurring_invoice_reducer.dart index fead11bc9..c43f484b0 100644 --- a/lib/redux/recurring_invoice/recurring_invoice_reducer.dart +++ b/lib/redux/recurring_invoice/recurring_invoice_reducer.dart @@ -154,18 +154,12 @@ InvoiceEntity _updateEditing(InvoiceEntity recurringInvoice, dynamic action) { InvoiceEntity _addRecurringInvoiceItem( InvoiceEntity recurringInvoice, AddRecurringInvoiceItem action) { final item = action.invoiceItem ?? InvoiceItemEntity(); - return recurringInvoice.rebuild((b) => b - ..hasTasks = b.hasTasks || item.isTask - ..hasExpenses = b.hasExpenses || item.isExpense - ..lineItems.add(item)); + return recurringInvoice.rebuild((b) => b..lineItems.add(item)); } InvoiceEntity _addRecurringInvoiceItems( InvoiceEntity recurringInvoice, AddRecurringInvoiceItems action) { - return recurringInvoice.rebuild((b) => b - ..hasTasks = action.items.where((item) => item.isTask).isNotEmpty - ..hasExpenses = action.items.where((item) => item.isExpense).isNotEmpty - ..lineItems.addAll(action.items)); + return recurringInvoice.rebuild((b) => b..lineItems.addAll(action.items)); } InvoiceEntity _removeRecurringInvoiceItem( diff --git a/lib/redux/task/task_actions.dart b/lib/redux/task/task_actions.dart index c58db1b71..4214d0c85 100644 --- a/lib/redux/task/task_actions.dart +++ b/lib/redux/task/task_actions.dart @@ -333,9 +333,8 @@ void handleTaskAction( if (items.isNotEmpty) { createEntity( context: context, - entity: InvoiceEntity(state: state, client: client).rebuild((b) => b - ..hasTasks = true - ..lineItems.addAll(items))); + entity: InvoiceEntity(state: state, client: client) + .rebuild((b) => b..lineItems.addAll(items))); } break; case EntityAction.clone: diff --git a/lib/redux/task/task_selectors.dart b/lib/redux/task/task_selectors.dart index 5da5d88b1..84edc3c00 100644 --- a/lib/redux/task/task_selectors.dart +++ b/lib/redux/task/task_selectors.dart @@ -55,8 +55,8 @@ InvoiceItemEntity convertTaskToInvoiceItem( } return InvoiceItemEntity().rebuild((b) => b - ..taskId = task.id ..typeId = InvoiceItemEntity.TYPE_TASK + ..taskId = task.id ..notes = notes ..cost = taskRateSelector( company: state.company,