This commit is contained in:
Hillel Coren 2020-02-17 20:23:55 +02:00
parent 1c554514d3
commit 9511e6944b
3 changed files with 29 additions and 19 deletions

View File

@ -83,12 +83,7 @@ ReportResult clientReport(
? reportSettings[kReportClient] ? reportSettings[kReportClient]
: ReportSettingsEntity(); : ReportSettingsEntity();
if (clientReportSettings.columns.isNotEmpty) { final defaultColumns = [
columns = BuiltList(clientReportSettings.columns
.map((e) => EnumUtils.fromString(ClientReportFields.values, e))
.toList());
} else {
columns = BuiltList(<ClientReportFields>[
ClientReportFields.name, ClientReportFields.name,
ClientReportFields.contact_email, ClientReportFields.contact_email,
ClientReportFields.id_number, ClientReportFields.id_number,
@ -97,7 +92,14 @@ ReportResult clientReport(
ClientReportFields.balance, ClientReportFields.balance,
ClientReportFields.paid_to_date, ClientReportFields.paid_to_date,
ClientReportFields.country, ClientReportFields.country,
]); ];
if (clientReportSettings.columns.isNotEmpty) {
columns = BuiltList(clientReportSettings.columns
.map((e) => EnumUtils.fromString(ClientReportFields.values, e))
.toList());
} else {
columns = BuiltList(defaultColumns);
} }
for (var clientId in clientMap.keys) { for (var clientId in clientMap.keys) {
@ -293,8 +295,10 @@ ReportResult clientReport(
return ReportResult( return ReportResult(
allColumns: allColumns:
ClientReportFields.values.map((e) => EnumUtils.parse(e)).toList(), ClientReportFields.values.map((item) => EnumUtils.parse(item)).toList(),
columns: columns.map((item) => EnumUtils.parse(item)).toList(), columns: columns.map((item) => EnumUtils.parse(item)).toList(),
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data, data: data,
); );
} }

View File

@ -71,19 +71,21 @@ ReportResult invoiceReport(
? reportSettings[kReportInvoice] ? reportSettings[kReportInvoice]
: ReportSettingsEntity(); : ReportSettingsEntity();
if (invoiceReportSettings.columns.isNotEmpty) { final defaultColumns = [
columns = BuiltList(invoiceReportSettings.columns
.map((e) => EnumUtils.fromString(InvoiceReportFields.values, e))
.toList());
} else {
columns = BuiltList(<InvoiceReportFields>[
InvoiceReportFields.number, InvoiceReportFields.number,
InvoiceReportFields.amount, InvoiceReportFields.amount,
InvoiceReportFields.balance, InvoiceReportFields.balance,
InvoiceReportFields.date, InvoiceReportFields.date,
InvoiceReportFields.due_date, InvoiceReportFields.due_date,
InvoiceReportFields.client InvoiceReportFields.client
]); ];
if (invoiceReportSettings.columns.isNotEmpty) {
columns = BuiltList(invoiceReportSettings.columns
.map((e) => EnumUtils.fromString(InvoiceReportFields.values, e))
.toList());
} else {
columns = BuiltList(defaultColumns);
} }
for (var invoiceId in invoiceMap.keys) { for (var invoiceId in invoiceMap.keys) {
@ -230,6 +232,8 @@ ReportResult invoiceReport(
allColumns: allColumns:
InvoiceReportFields.values.map((e) => EnumUtils.parse(e)).toList(), InvoiceReportFields.values.map((e) => EnumUtils.parse(e)).toList(),
columns: columns.map((item) => EnumUtils.parse(item)).toList(), columns: columns.map((item) => EnumUtils.parse(item)).toList(),
defaultColumns:
defaultColumns.map((item) => EnumUtils.parse(item)).toList(),
data: data, data: data,
); );
} }

View File

@ -505,11 +505,13 @@ class ReportResult {
ReportResult({ ReportResult({
@required this.columns, @required this.columns,
@required this.allColumns, @required this.allColumns,
@required this.defaultColumns,
@required this.data, @required this.data,
}); });
final List<String> columns; final List<String> columns;
final List<String> allColumns; final List<String> allColumns;
final List<String> defaultColumns;
final List<List<ReportElement>> data; final List<List<ReportElement>> data;
static bool matchField({ static bool matchField({