Set project when invoicing expense
This commit is contained in:
parent
961cb7fda9
commit
893889b52e
|
|
@ -275,11 +275,23 @@ void handleExpenseAction(
|
|||
);
|
||||
break;
|
||||
case EntityAction.invoiceExpense:
|
||||
final items = expenses
|
||||
.where((entity) {
|
||||
final availableExpenses = expenses.where((entity) {
|
||||
final expense = entity as ExpenseEntity;
|
||||
return !expense.isDeleted && !expense.isInvoiced;
|
||||
})
|
||||
});
|
||||
|
||||
String projectId = '';
|
||||
for (var each in availableExpenses) {
|
||||
final expense = each as ExpenseEntity;
|
||||
if (expense.projectId.isNotEmpty) {
|
||||
if (projectId.isEmpty &&
|
||||
state.projectState.get(expense.projectId).clientId == client.id) {
|
||||
projectId = expense.projectId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final items = availableExpenses
|
||||
.map((expense) => convertExpenseToInvoiceItem(
|
||||
expense: expense,
|
||||
context: context,
|
||||
|
|
@ -288,8 +300,12 @@ void handleExpenseAction(
|
|||
if (items.isNotEmpty) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(state: state, client: client)
|
||||
.rebuild((b) => b..lineItems.addAll(items)));
|
||||
entity: InvoiceEntity(state: state, client: client).rebuild(
|
||||
(b) => b
|
||||
..lineItems.addAll(items)
|
||||
..projectId = projectId,
|
||||
),
|
||||
);
|
||||
}
|
||||
break;
|
||||
case EntityAction.restore:
|
||||
|
|
|
|||
Loading…
Reference in New Issue