Add participant field to transactions
This commit is contained in:
parent
ee13090a7d
commit
81e1d47dfe
|
|
@ -67,6 +67,7 @@ class TransactionFields {
|
||||||
static const String accountType = 'account_type';
|
static const String accountType = 'account_type';
|
||||||
static const String defaultCategory = 'default_category';
|
static const String defaultCategory = 'default_category';
|
||||||
static const String participantName = 'participant_name';
|
static const String participantName = 'participant_name';
|
||||||
|
static const String participant = 'participant';
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class TransactionEntity extends Object
|
abstract class TransactionEntity extends Object
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_redux/flutter_redux.dart';
|
import 'package:flutter_redux/flutter_redux.dart';
|
||||||
import 'package:invoiceninja_flutter/constants.dart';
|
import 'package:invoiceninja_flutter/constants.dart';
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ enum TransactionReportFields {
|
||||||
created_at,
|
created_at,
|
||||||
updated_at,
|
updated_at,
|
||||||
record_state,
|
record_state,
|
||||||
|
participant,
|
||||||
participant_name,
|
participant_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -183,6 +184,9 @@ ReportResult transactionReport(
|
||||||
case TransactionReportFields.participant_name:
|
case TransactionReportFields.participant_name:
|
||||||
value = transaction.participantName;
|
value = transaction.participantName;
|
||||||
break;
|
break;
|
||||||
|
case TransactionReportFields.participant:
|
||||||
|
value = transaction.participant;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ReportResult.matchField(
|
if (!ReportResult.matchField(
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ class TransactionPresenter extends EntityPresenter {
|
||||||
TransactionFields.category,
|
TransactionFields.category,
|
||||||
TransactionFields.payment,
|
TransactionFields.payment,
|
||||||
TransactionFields.defaultCategory,
|
TransactionFields.defaultCategory,
|
||||||
|
TransactionFields.participant,
|
||||||
TransactionFields.participantName,
|
TransactionFields.participantName,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -42,23 +43,23 @@ class TransactionPresenter extends EntityPresenter {
|
||||||
@override
|
@override
|
||||||
Widget getField({String? field, required BuildContext context}) {
|
Widget getField({String? field, required BuildContext context}) {
|
||||||
final state = StoreProvider.of<AppState>(context).state;
|
final state = StoreProvider.of<AppState>(context).state;
|
||||||
final transaction = entity as TransactionEntity?;
|
final transaction = entity as TransactionEntity;
|
||||||
|
|
||||||
switch (field) {
|
switch (field) {
|
||||||
case TransactionFields.status:
|
case TransactionFields.status:
|
||||||
return EntityStatusChip(entity: transaction, showState: true);
|
return EntityStatusChip(entity: transaction, showState: true);
|
||||||
case TransactionFields.date:
|
case TransactionFields.date:
|
||||||
return Text(formatDate(transaction!.date, context));
|
return Text(formatDate(transaction.date, context));
|
||||||
case TransactionFields.defaultCategory:
|
case TransactionFields.defaultCategory:
|
||||||
return Text(transaction!.category);
|
return Text(transaction.category);
|
||||||
case TransactionFields.amount:
|
case TransactionFields.amount:
|
||||||
return Align(
|
return Align(
|
||||||
alignment: Alignment.centerRight,
|
alignment: Alignment.centerRight,
|
||||||
child: Text(formatNumber(transaction!.amount, context,
|
child: Text(formatNumber(transaction.amount, context,
|
||||||
currencyId: transaction.currencyId)!),
|
currencyId: transaction.currencyId)!),
|
||||||
);
|
);
|
||||||
case TransactionFields.deposit:
|
case TransactionFields.deposit:
|
||||||
if (!transaction!.isDeposit) {
|
if (!transaction.isDeposit) {
|
||||||
return SizedBox();
|
return SizedBox();
|
||||||
}
|
}
|
||||||
return Align(
|
return Align(
|
||||||
|
|
@ -67,7 +68,7 @@ class TransactionPresenter extends EntityPresenter {
|
||||||
currencyId: transaction.currencyId)!),
|
currencyId: transaction.currencyId)!),
|
||||||
);
|
);
|
||||||
case TransactionFields.withdrawal:
|
case TransactionFields.withdrawal:
|
||||||
if (!transaction!.isWithdrawal) {
|
if (!transaction.isWithdrawal) {
|
||||||
return SizedBox();
|
return SizedBox();
|
||||||
}
|
}
|
||||||
return Align(
|
return Align(
|
||||||
|
|
@ -76,27 +77,29 @@ class TransactionPresenter extends EntityPresenter {
|
||||||
currencyId: transaction.currencyId)!),
|
currencyId: transaction.currencyId)!),
|
||||||
);
|
);
|
||||||
case TransactionFields.description:
|
case TransactionFields.description:
|
||||||
return Text(transaction!.description);
|
return Text(transaction.description);
|
||||||
case TransactionFields.participantName:
|
case TransactionFields.participantName:
|
||||||
return Text(transaction!.participantName);
|
return Text(transaction.participantName);
|
||||||
|
case TransactionFields.participant:
|
||||||
|
return Text(transaction.participant);
|
||||||
case TransactionFields.accountType:
|
case TransactionFields.accountType:
|
||||||
final bankAccount =
|
final bankAccount =
|
||||||
state.bankAccountState.get(transaction!.bankAccountId);
|
state.bankAccountState.get(transaction.bankAccountId);
|
||||||
return Text(toTitleCase(bankAccount.type));
|
return Text(toTitleCase(bankAccount.type));
|
||||||
case TransactionFields.bankAccount:
|
case TransactionFields.bankAccount:
|
||||||
final bankAccount =
|
final bankAccount =
|
||||||
state.bankAccountState.get(transaction!.bankAccountId);
|
state.bankAccountState.get(transaction.bankAccountId);
|
||||||
return LinkTextRelatedEntity(
|
return LinkTextRelatedEntity(
|
||||||
entity: bankAccount, relation: transaction);
|
entity: bankAccount, relation: transaction);
|
||||||
case TransactionFields.payment:
|
case TransactionFields.payment:
|
||||||
final payment = state.paymentState.get(transaction!.paymentId);
|
final payment = state.paymentState.get(transaction.paymentId);
|
||||||
return LinkTextRelatedEntity(entity: payment, relation: transaction);
|
return LinkTextRelatedEntity(entity: payment, relation: transaction);
|
||||||
case TransactionFields.invoices:
|
case TransactionFields.invoices:
|
||||||
return ConstrainedBox(
|
return ConstrainedBox(
|
||||||
constraints: BoxConstraints(maxWidth: kTableColumnWidthMax),
|
constraints: BoxConstraints(maxWidth: kTableColumnWidthMax),
|
||||||
child: Wrap(
|
child: Wrap(
|
||||||
clipBehavior: Clip.antiAlias,
|
clipBehavior: Clip.antiAlias,
|
||||||
children: transaction!.invoiceIds
|
children: transaction.invoiceIds
|
||||||
.split(',')
|
.split(',')
|
||||||
.map((invoiceId) => state.invoiceState.map[invoiceId])
|
.map((invoiceId) => state.invoiceState.map[invoiceId])
|
||||||
.whereNotNull()
|
.whereNotNull()
|
||||||
|
|
@ -113,7 +116,7 @@ class TransactionPresenter extends EntityPresenter {
|
||||||
constraints: BoxConstraints(maxWidth: kTableColumnWidthMax),
|
constraints: BoxConstraints(maxWidth: kTableColumnWidthMax),
|
||||||
child: Wrap(
|
child: Wrap(
|
||||||
clipBehavior: Clip.antiAlias,
|
clipBehavior: Clip.antiAlias,
|
||||||
children: transaction!.expenseId
|
children: transaction.expenseId
|
||||||
.split(',')
|
.split(',')
|
||||||
.map((expenseId) => state.expenseState.map[expenseId])
|
.map((expenseId) => state.expenseState.map[expenseId])
|
||||||
.whereNotNull()
|
.whereNotNull()
|
||||||
|
|
@ -126,11 +129,10 @@ class TransactionPresenter extends EntityPresenter {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
case TransactionFields.vendor:
|
case TransactionFields.vendor:
|
||||||
final vendor = state.vendorState.get(transaction!.vendorId);
|
final vendor = state.vendorState.get(transaction.vendorId);
|
||||||
return LinkTextRelatedEntity(entity: vendor, relation: transaction);
|
return LinkTextRelatedEntity(entity: vendor, relation: transaction);
|
||||||
case TransactionFields.category:
|
case TransactionFields.category:
|
||||||
final category =
|
final category = state.expenseCategoryState.get(transaction.categoryId);
|
||||||
state.expenseCategoryState.get(transaction!.categoryId);
|
|
||||||
return LinkTextRelatedEntity(entity: category, relation: transaction);
|
return LinkTextRelatedEntity(entity: category, relation: transaction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue