diff --git a/CHANGELOG.md b/CHANGELOG.md index bb144bba..23745efc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## Beta 0.7.2 -* Added themes +* Added themes, closes [#105](https://github.com/flow-mn/flow/issues/105) +* Add transaction description, type, and lat/long for CSV exports, closes [#203](https://github.com/flow-mn/flow/issues/203) ## Beta 0.7.1 diff --git a/assets/l10n/en_IN.json b/assets/l10n/en_IN.json index 4298aa66..a8c262a9 100644 --- a/assets/l10n/en_IN.json +++ b/assets/l10n/en_IN.json @@ -301,15 +301,19 @@ "enum.CSVHeadersV1": "CSV Headers", "enum.CSVHeadersV1@uuid": "ID", "enum.CSVHeadersV1@title": "Title", + "enum.CSVHeadersV1@notes": "Notes", "enum.CSVHeadersV1@amount": "Amount", "enum.CSVHeadersV1@currency": "Currency", "enum.CSVHeadersV1@account": "Account", "enum.CSVHeadersV1@accountUuid": "Account ID", "enum.CSVHeadersV1@category": "Category", "enum.CSVHeadersV1@categoryUuid": "Category ID", + "enum.CSVHeadersV1@type": "Type", "enum.CSVHeadersV1@subtype": "Transaction class", "enum.CSVHeadersV1@createdDate": "Created date", "enum.CSVHeadersV1@transactionDate": "Transaction date", + "enum.CSVHeadersV1@latitude": "Latitude", + "enum.CSVHeadersV1@longitude": "Longitude", "enum.CSVHeadersV1@extra": "Extra (JSON)", "enum.ImportV1Progress@waitingConfirmation": "Waiting for confirmation", diff --git a/assets/l10n/en_US.json b/assets/l10n/en_US.json index 4298aa66..a8c262a9 100644 --- a/assets/l10n/en_US.json +++ b/assets/l10n/en_US.json @@ -301,15 +301,19 @@ "enum.CSVHeadersV1": "CSV Headers", "enum.CSVHeadersV1@uuid": "ID", "enum.CSVHeadersV1@title": "Title", + "enum.CSVHeadersV1@notes": "Notes", "enum.CSVHeadersV1@amount": "Amount", "enum.CSVHeadersV1@currency": "Currency", "enum.CSVHeadersV1@account": "Account", "enum.CSVHeadersV1@accountUuid": "Account ID", "enum.CSVHeadersV1@category": "Category", "enum.CSVHeadersV1@categoryUuid": "Category ID", + "enum.CSVHeadersV1@type": "Type", "enum.CSVHeadersV1@subtype": "Transaction class", "enum.CSVHeadersV1@createdDate": "Created date", "enum.CSVHeadersV1@transactionDate": "Transaction date", + "enum.CSVHeadersV1@latitude": "Latitude", + "enum.CSVHeadersV1@longitude": "Longitude", "enum.CSVHeadersV1@extra": "Extra (JSON)", "enum.ImportV1Progress@waitingConfirmation": "Waiting for confirmation", diff --git a/assets/l10n/it_IT.json b/assets/l10n/it_IT.json index 58f46a7b..e84b6af1 100644 --- a/assets/l10n/it_IT.json +++ b/assets/l10n/it_IT.json @@ -301,15 +301,19 @@ "enum.CSVHeadersV1": "Intestazioni CSV", "enum.CSVHeadersV1@uuid": "ID", "enum.CSVHeadersV1@title": "Titolo", + "enum.CSVHeadersV1@notes": "Note", "enum.CSVHeadersV1@amount": "Importo", "enum.CSVHeadersV1@currency": "Valuta", "enum.CSVHeadersV1@account": "Conto", "enum.CSVHeadersV1@accountUuid": "ID Conto", "enum.CSVHeadersV1@category": "Categoria", "enum.CSVHeadersV1@categoryUuid": "ID Categoria", + "enum.CSVHeadersV1@type": "Tipo", "enum.CSVHeadersV1@subtype": "Classe di transazione", "enum.CSVHeadersV1@createdDate": "Data di creazione", "enum.CSVHeadersV1@transactionDate": "Data transazione", + "enum.CSVHeadersV1@latitude": "Latitudine", + "enum.CSVHeadersV1@longitude": "Longitudine", "enum.CSVHeadersV1@extra": "Extra (JSON)", "enum.ImportV1Progress@waitingConfirmation": "In attesa di conferma", diff --git a/assets/l10n/mn_MN.json b/assets/l10n/mn_MN.json index 78a43b94..be7312e0 100644 --- a/assets/l10n/mn_MN.json +++ b/assets/l10n/mn_MN.json @@ -301,15 +301,19 @@ "enum.CSVHeadersV1": "CSV Толгой", "enum.CSVHeadersV1@uuid": "Код", "enum.CSVHeadersV1@title": "Гарчиг", + "enum.CSVHeadersV1@notes": "Тэмдэглэл", "enum.CSVHeadersV1@amount": "Дүн", "enum.CSVHeadersV1@currency": "Валют", "enum.CSVHeadersV1@account": "Данс", "enum.CSVHeadersV1@accountUuid": "Дансны код", "enum.CSVHeadersV1@category": "Ангилал", "enum.CSVHeadersV1@categoryUuid": "Ангилалын код", + "enum.CSVHeadersV1@type": "Төрөл", "enum.CSVHeadersV1@subtype": "Гүйлгээний ангилал", "enum.CSVHeadersV1@createdDate": "Нэмсэн огноо ({})", "enum.CSVHeadersV1@transactionDate": "Гүйлгээ хийсэн ({})", + "enum.CSVHeadersV1@latitude": "Уртраг", + "enum.CSVHeadersV1@longitude": "Өргөрөг", "enum.CSVHeadersV1@extra": "Нэмэлт(JSON)", "enum.ImportV1Progress@waitingConfirmation": "Баталгаажуулалт хүлээж байна", diff --git a/lib/sync/export/export_v1.dart b/lib/sync/export/export_v1.dart index 9e2ab4ca..835570e6 100644 --- a/lib/sync/export/export_v1.dart +++ b/lib/sync/export/export_v1.dart @@ -59,15 +59,19 @@ Future generateCSVContentV1() async { final headers = [ CSVHeadersV1.uuid.localizedName, CSVHeadersV1.title.localizedName, + CSVHeadersV1.notes.localizedName, CSVHeadersV1.amount.localizedName, CSVHeadersV1.currency.localizedName, CSVHeadersV1.account.localizedName, CSVHeadersV1.accountUuid.localizedName, CSVHeadersV1.category.localizedName, CSVHeadersV1.categoryUuid.localizedName, + CSVHeadersV1.type.localizedName, CSVHeadersV1.subtype.localizedName, CSVHeadersV1.createdDate.localizedName, CSVHeadersV1.transactionDate.localizedName, + CSVHeadersV1.latitude.localizedName, + CSVHeadersV1.longitude.localizedName, CSVHeadersV1.extra.localizedName, ]; @@ -78,6 +82,7 @@ Future generateCSVContentV1() async { (e) => [ e.uuid, e.title ?? "", + e.description ?? "", e.amount.toStringAsFixed( numberOfDecimalsToKeep[e.currency] ??= NumberFormat.currency(name: e.currency).decimalDigits ?? 2, @@ -87,6 +92,7 @@ Future generateCSVContentV1() async { e.account.target?.uuid, e.category.target?.name, e.category.target?.uuid, + e.type.localizedName, e.transactionSubtype?.localizedName, e.createdDate.format( payload: "LLL", @@ -96,11 +102,14 @@ Future generateCSVContentV1() async { payload: "LLL", forceLocal: true, ), + e.extensions.geo?.latitude?.toString() ?? "", + e.extensions.geo?.longitude?.toString() ?? "", e.extra, ], ) .toList() ..insert(0, headers); - return const ListToCsvConverter().convert(transformed); + return const ListToCsvConverter() + .convert(transformed, convertNullTo: "", eol: "\n"); } diff --git a/lib/sync/export/headers/header_v1.dart b/lib/sync/export/headers/header_v1.dart index cb8bbd24..5dfccbb0 100644 --- a/lib/sync/export/headers/header_v1.dart +++ b/lib/sync/export/headers/header_v1.dart @@ -3,15 +3,19 @@ import "package:flow/l10n/named_enum.dart"; enum CSVHeadersV1 implements LocalizedEnum { uuid, title, + notes, amount, currency, account, accountUuid, category, categoryUuid, + type, subtype, createdDate, transactionDate, + latitude, + longitude, extra; @override