diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index bb3a2291b1..06bba18715 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -86,7 +86,7 @@ jobs: draft: false prerelease: false title: "Latest Release" - automatic_release_tag: "v5.0.147" + automatic_release_tag: "v5.0.148" files: | ${{ github.workspace }}/artifacts/Invoice-Ninja-Archive ${{ github.workspace }}/artifacts/Invoice-Ninja-Hash diff --git a/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml b/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml index 5c6b4e1ecf..f6c8ce0c10 100644 --- a/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml +++ b/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml @@ -50,6 +50,7 @@ + diff --git a/lib/constants.dart b/lib/constants.dart index 255e1f8a52..096d477dfe 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -4,7 +4,7 @@ class Constants { } // TODO remove version once #46609 is fixed -const String kClientVersion = '5.0.147'; +const String kClientVersion = '5.0.148'; const String kMinServerVersion = '5.0.4'; const String kAppName = 'Invoice Ninja'; diff --git a/lib/ui/bank_account/bank_account_screen.dart b/lib/ui/bank_account/bank_account_screen.dart index 444d1c2e81..640c01c823 100644 --- a/lib/ui/bank_account/bank_account_screen.dart +++ b/lib/ui/bank_account/bank_account_screen.dart @@ -37,7 +37,9 @@ class BankAccountScreen extends StatelessWidget { void connectAccounts(BuildContext context) { final localization = AppLocalization.of(context)!; - if (isSelfHosted(context)) { + if (!supportsLatestFeatures('5.8.0')) { + _connectAccounts(context, BankAccountEntity.INTEGRATION_TYPE_YODLEE); + } else if (isSelfHosted(context)) { _connectAccounts(context, BankAccountEntity.INTEGRATION_TYPE_NORDIGEN); } else { showDialog( diff --git a/lib/ui/invoice/edit/invoice_edit_items_desktop.dart b/lib/ui/invoice/edit/invoice_edit_items_desktop.dart index 76bd7be4ab..31d9f926e8 100644 --- a/lib/ui/invoice/edit/invoice_edit_items_desktop.dart +++ b/lib/ui/invoice/edit/invoice_edit_items_desktop.dart @@ -821,6 +821,19 @@ class _InvoiceEditItemsDesktopState extends State { EntityAutocompleteListTile( onTap: (entity) => onSelected( entity as ProductEntity), + overrideSuggestedLabel: + (entity) { + var label = + entity.listDisplayName; + if (state.company + .trackInventory) { + final product = entity + as ProductEntity; + label += + ' [${product.stockQuantity}]'; + } + return label; + }, overrideSuggestedAmount: (entity) { final product = diff --git a/lib/ui/invoice/view/invoice_view_overview.dart b/lib/ui/invoice/view/invoice_view_overview.dart index 52f92b81d7..7b1c5d59b7 100644 --- a/lib/ui/invoice/view/invoice_view_overview.dart +++ b/lib/ui/invoice/view/invoice_view_overview.dart @@ -268,11 +268,6 @@ class InvoiceOverview extends StatelessWidget { widgets.add(EntityListTile(entity: project, isFilter: isFilter)); } - if ((invoice.invoiceId ?? '').isNotEmpty) { - final linkedInvoice = state.invoiceState.get(invoice.invoiceId!); - widgets.add(EntityListTile(entity: linkedInvoice, isFilter: isFilter)); - } - if (invoice.expenseId.isNotEmpty) { final expense = state.vendorState.get(invoice.expenseId); widgets.add(EntityListTile(entity: expense, isFilter: isFilter)); @@ -303,16 +298,16 @@ class InvoiceOverview extends StatelessWidget { )); } - if (invoice.isQuote || invoice.isCredit) { - final relatedInvoice = state.invoiceState.map[invoice.invoiceId] ?? - InvoiceEntity(id: invoice.invoiceId); - if ((invoice.invoiceId ?? '').isNotEmpty) { - widgets.add(EntityListTile( - isFilter: isFilter, - entity: relatedInvoice, - )); - } - } else { + final relatedInvoice = state.invoiceState.map[invoice.invoiceId] ?? + InvoiceEntity(id: invoice.invoiceId); + if ((invoice.invoiceId ?? '').isNotEmpty) { + widgets.add(EntityListTile( + isFilter: isFilter, + entity: relatedInvoice, + )); + } + + if (invoice.isInvoice) { final relatedQuote = memoizedInvoiceQuoteSelector(invoice, state.quoteState.map); if (relatedQuote != null) { diff --git a/lib/utils/platforms.dart b/lib/utils/platforms.dart index 46fa467d34..9de2c369a4 100644 --- a/lib/utils/platforms.dart +++ b/lib/utils/platforms.dart @@ -57,9 +57,11 @@ bool supportsLatestFeatures(String version) { return true; } + /* if (state.isSelfHosted) { return true; } + */ if (version.isEmpty) { return false; diff --git a/pubspec.foss.yaml b/pubspec.foss.yaml index c7855369c6..8f1a9cbc3b 100644 --- a/pubspec.foss.yaml +++ b/pubspec.foss.yaml @@ -1,6 +1,6 @@ name: invoiceninja_flutter description: Client for Invoice Ninja -version: 5.0.147+147 +version: 5.0.148+148 homepage: https://invoiceninja.com documentation: https://invoiceninja.github.io publish_to: none diff --git a/pubspec.yaml b/pubspec.yaml index 0af313129d..72013144c5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: invoiceninja_flutter description: Client for Invoice Ninja -version: 5.0.147+147 +version: 5.0.148+148 homepage: https://invoiceninja.com documentation: https://invoiceninja.github.io publish_to: none diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 32562562ae..fcaa27387b 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: invoiceninja -version: '5.0.147' +version: '5.0.148' summary: Create invoices, accept payments, track expenses & time tasks description: "### Note: if the app fails to run using `snap run invoiceninja` it may help to run `/snap/invoiceninja/current/bin/invoiceninja` instead