Merge branch 'develop'
This commit is contained in:
commit
a0fcc6b5b6
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"/>
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -57,9 +57,11 @@ bool supportsLatestFeatures(String version) {
|
|||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
if (state.isSelfHosted) {
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
if (version.isEmpty) {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue