Set project when invoicing expense
This commit is contained in:
parent
961cb7fda9
commit
893889b52e
|
|
@ -275,11 +275,23 @@ void handleExpenseAction(
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case EntityAction.invoiceExpense:
|
case EntityAction.invoiceExpense:
|
||||||
final items = expenses
|
final availableExpenses = expenses.where((entity) {
|
||||||
.where((entity) {
|
final expense = entity as ExpenseEntity;
|
||||||
final expense = entity as ExpenseEntity;
|
return !expense.isDeleted && !expense.isInvoiced;
|
||||||
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(
|
.map((expense) => convertExpenseToInvoiceItem(
|
||||||
expense: expense,
|
expense: expense,
|
||||||
context: context,
|
context: context,
|
||||||
|
|
@ -287,9 +299,13 @@ void handleExpenseAction(
|
||||||
.toList();
|
.toList();
|
||||||
if (items.isNotEmpty) {
|
if (items.isNotEmpty) {
|
||||||
createEntity(
|
createEntity(
|
||||||
context: context,
|
context: context,
|
||||||
entity: InvoiceEntity(state: state, client: client)
|
entity: InvoiceEntity(state: state, client: client).rebuild(
|
||||||
.rebuild((b) => b..lineItems.addAll(items)));
|
(b) => b
|
||||||
|
..lineItems.addAll(items)
|
||||||
|
..projectId = projectId,
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EntityAction.restore:
|
case EntityAction.restore:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue