diff --git a/lib/redux/expense/expense_actions.dart b/lib/redux/expense/expense_actions.dart index 389a09421..14a33e9ea 100644 --- a/lib/redux/expense/expense_actions.dart +++ b/lib/redux/expense/expense_actions.dart @@ -267,6 +267,7 @@ void handleExpenseAction( final localization = AppLocalization.of(context); final expense = expenses.first as ExpenseEntity; final expenseIds = expenses.map((expense) => expense.id).toList(); + final client = state.clientState.get(expense.clientId); switch (action) { case EntityAction.edit: @@ -282,9 +283,8 @@ void handleExpenseAction( company: company); createEntity( context: context, - entity: InvoiceEntity(state: state).rebuild((b) => b + entity: InvoiceEntity(state: state, client: client).rebuild((b) => b ..hasExpenses = true - ..clientId = expense.clientId ..lineItems.add(item))); break; case EntityAction.viewInvoice: diff --git a/lib/redux/project/project_actions.dart b/lib/redux/project/project_actions.dart index ff35711c1..ba209388f 100644 --- a/lib/redux/project/project_actions.dart +++ b/lib/redux/project/project_actions.dart @@ -266,6 +266,7 @@ void handleProjectAction( final state = store.state; final project = projects.first as ProjectEntity; final projectIds = projects.map((project) => project.id).toList(); + final client = state.clientState.get(project.clientId); switch (action) { case EntityAction.edit: @@ -283,17 +284,15 @@ void handleProjectAction( convertProjectToInvoiceItem(project: project, context: context); createEntity( context: context, - entity: InvoiceEntity(state: state).rebuild((b) => b + entity: InvoiceEntity(state: state, client: client).rebuild((b) => b ..hasTasks = true - ..clientId = project.clientId ..lineItems.addAll(items))); break; case EntityAction.newExpense: createEntity( context: context, - entity: ExpenseEntity(state: state).rebuild((b) => b - ..projectId = project.id - ..clientId = project.clientId)); + entity: ExpenseEntity(state: state, client: client) + .rebuild((b) => b..projectId = project.id)); break; case EntityAction.clone: createEntity(context: context, entity: project.clone); diff --git a/lib/redux/task/task_actions.dart b/lib/redux/task/task_actions.dart index 810195ef2..e1f645c7f 100644 --- a/lib/redux/task/task_actions.dart +++ b/lib/redux/task/task_actions.dart @@ -301,6 +301,7 @@ void handleTaskAction( final state = store.state; final localization = AppLocalization.of(context); final task = tasks.first as TaskEntity; + final client = state.clientState.get(task.clientId); final taskIds = tasks.map((task) => task.id).toList(); switch (action) { @@ -336,9 +337,8 @@ void handleTaskAction( final item = convertTaskToInvoiceItem(task: task, context: context); createEntity( context: context, - entity: InvoiceEntity(state: state).rebuild((b) => b + entity: InvoiceEntity(state: state, client: client).rebuild((b) => b ..hasTasks = true - ..clientId = task.clientId ..lineItems.add(item))); break; case EntityAction.viewInvoice: