Rework has_tasks
This commit is contained in:
parent
7855e3d414
commit
b1c4649d4e
|
|
@ -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<InvoiceEntity> get serializer => _$invoiceEntitySerializer;
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue