Merge branch 'develop'

This commit is contained in:
Hillel Coren 2024-01-08 11:13:29 +02:00
commit a0fcc6b5b6
10 changed files with 34 additions and 21 deletions

View File

@ -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

View File

@ -50,6 +50,7 @@
</screenshots>
<content_rating type="oars-1.1"/>
<releases>
<release version="5.0.148" date="2024-01-08"/>
<release version="5.0.147" date="2024-01-02"/>
<release version="5.0.146" date="2023-12-20"/>
<release version="5.0.145" date="2023-12-03"/>

View File

@ -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';

View File

@ -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(

View File

@ -821,6 +821,19 @@ class _InvoiceEditItemsDesktopState extends State<InvoiceEditItemsDesktop> {
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 =

View File

@ -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) {

View File

@ -57,9 +57,11 @@ bool supportsLatestFeatures(String version) {
return true;
}
/*
if (state.isSelfHosted) {
return true;
}
*/
if (version.isEmpty) {
return false;

View File

@ -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

View File

@ -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

View File

@ -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