From 6924b00ee221c89f7f8338bd3988021eccdcfeef Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 23 May 2023 09:25:38 +0300 Subject: [PATCH 1/6] Fix snapcraft.yaml --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 382f9547d68..caafd07f797 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: invoiceninja -version: '5.0.117 +version: '5.0.117' 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 From 16f21ebd27a181f893367fd68592dc915aa06af1 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 23 May 2023 12:03:37 +0300 Subject: [PATCH 2/6] Add desktop plug to Snapcraft --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index caafd07f797..106997b9b42 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -31,6 +31,7 @@ apps: plugs: - network - home + - desktop parts: invoiceninja: From dc88dd3f01893e861fc89344bd0c3f364e9c84f8 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 23 May 2023 18:28:32 +0300 Subject: [PATCH 3/6] Fix for sorting task statuses --- lib/ui/task_status/task_status_list.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/ui/task_status/task_status_list.dart b/lib/ui/task_status/task_status_list.dart index a9ddce58f9f..b6ea5aefead 100644 --- a/lib/ui/task_status/task_status_list.dart +++ b/lib/ui/task_status/task_status_list.dart @@ -73,9 +73,10 @@ class _TaskStatusListState extends State { if (newIndex > widget.viewModel.taskStatusList.length) { newIndex = widget.viewModel.taskStatusList.length; } - if (oldIndex < newIndex) { - newIndex--; - } + + //if (oldIndex < newIndex) { + // newIndex--; + //} widget.viewModel.onSortChanged(oldIndex, newIndex); }, From 25cb1da883abd9384131ea59288d7f07aa0772f8 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 24 May 2023 12:03:40 +0300 Subject: [PATCH 4/6] Remove debug code --- lib/ui/task_status/task_status_list_item.dart | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/ui/task_status/task_status_list_item.dart b/lib/ui/task_status/task_status_list_item.dart index 1c3051bd63f..0ab7af72a91 100644 --- a/lib/ui/task_status/task_status_list_item.dart +++ b/lib/ui/task_status/task_status_list_item.dart @@ -1,5 +1,4 @@ // Flutter imports: -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; // Package imports: @@ -81,7 +80,6 @@ class TaskStatusListItem extends StatelessWidget { subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - if (!kReleaseMode) Text('Sort: ${taskStatus.statusOrder}'), subtitle != null && subtitle.isNotEmpty ? Text( subtitle, From 6b7d9d5bf3b6ce3764b502f0ea3ecfe4e51f59bd Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 24 May 2023 12:08:01 +0300 Subject: [PATCH 5/6] Update version --- lib/constants.dart | 2 +- pubspec.foss.yaml | 2 +- pubspec.yaml | 2 +- snap/snapcraft.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/constants.dart b/lib/constants.dart index 52018623e37..37d6dbd877a 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.117'; +const String kClientVersion = '5.0.118'; const String kMinServerVersion = '5.0.4'; const String kAppName = 'Invoice Ninja'; diff --git a/pubspec.foss.yaml b/pubspec.foss.yaml index bce8165a310..98d4bd64c04 100644 --- a/pubspec.foss.yaml +++ b/pubspec.foss.yaml @@ -1,6 +1,6 @@ name: invoiceninja_flutter description: Client for Invoice Ninja -version: 5.0.117+117 +version: 5.0.118+118 homepage: https://invoiceninja.com documentation: https://invoiceninja.github.io publish_to: none diff --git a/pubspec.yaml b/pubspec.yaml index f39e1c00a40..3a5082a65d2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: invoiceninja_flutter description: Client for Invoice Ninja -version: 5.0.117+117 +version: 5.0.118+118 homepage: https://invoiceninja.com documentation: https://invoiceninja.github.io publish_to: none diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 106997b9b42..e211d150cef 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: invoiceninja -version: '5.0.117' +version: '5.0.118' 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 From 50b61d33f74d76c04d85301e54a7a8c5f9a5ada9 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 24 May 2023 12:19:53 +0300 Subject: [PATCH 6/6] Adjust version requirements --- lib/ui/settings/email_settings.dart | 2 +- lib/ui/settings/settings_list.dart | 4 ++-- lib/ui/settings/tax_settings.dart | 2 +- lib/utils/platforms.dart | 13 ++++++++++--- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/ui/settings/email_settings.dart b/lib/ui/settings/email_settings.dart index b9ca2478dc9..260d012e9ea 100644 --- a/lib/ui/settings/email_settings.dart +++ b/lib/ui/settings/email_settings.dart @@ -510,7 +510,7 @@ class _EmailSettingsState extends State { onChanged: (value) => viewModel.onSettingsChanged( settings.rebuild((b) => b..ublEmailAttachment = value)), ), - if (supportsLatestFeatures()) + if (supportsLatestFeatures(null)) BoolDropdownButton( label: localization.enableEInvoice, value: settings.enableEInvoice, diff --git a/lib/ui/settings/settings_list.dart b/lib/ui/settings/settings_list.dart index 2b28022534e..c17ad76fa52 100644 --- a/lib/ui/settings/settings_list.dart +++ b/lib/ui/settings/settings_list.dart @@ -428,7 +428,7 @@ class SettingsSearch extends StatelessWidget { [ 'tax_settings', 'inclusive_taxes', - if (supportsLatestFeatures()) 'calculate_taxes#2023-04-26', + if (supportsLatestFeatures('5.6.0')) 'calculate_taxes#2023-04-26', ], ], kSettingsTaxRates: [ @@ -623,7 +623,7 @@ class SettingsSearch extends StatelessWidget { 'mailgun#2023-01-11', 'email_alignment#2023-01-17', 'show_email_footer#2023-01-17', - if (supportsLatestFeatures()) 'enable_e_invoice#2023-04-27,' + if (supportsLatestFeatures(null)) 'enable_e_invoice#2023-04-27,' ], ], kSettingsTemplatesAndReminders: [ diff --git a/lib/ui/settings/tax_settings.dart b/lib/ui/settings/tax_settings.dart index e8be8d743c5..cafec7b284f 100644 --- a/lib/ui/settings/tax_settings.dart +++ b/lib/ui/settings/tax_settings.dart @@ -160,7 +160,7 @@ class _TaxSettingsState extends State { onPressed: () => viewModel.onConfigureRatesPressed(context), ), ), - if (supportsLatestFeatures()) + if (supportsLatestFeatures('5.6.0')) FormCard( isLast: true, crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/utils/platforms.dart b/lib/utils/platforms.dart index a0383cc4342..9cd3a9ee788 100644 --- a/lib/utils/platforms.dart +++ b/lib/utils/platforms.dart @@ -47,7 +47,7 @@ bool supportsAppleOAuth() => kIsWeb || isApple(); // TODO remove this function bool supportsMicrosoftOAuth() => kIsWeb; -bool supportsLatestFeatures() { +bool supportsLatestFeatures(String version) { final store = StoreProvider.of(navigatorKey.currentContext); final state = store.state; @@ -55,8 +55,15 @@ bool supportsLatestFeatures() { return true; } - return Version.parse(state.account.currentVersion) >= - Version.parse('5.5.118'); + if (state.isSelfHosted) { + return true; + } + + if (version == null) { + return false; + } + + return Version.parse(state.account.currentVersion) >= Version.parse(version); } bool supportsInAppPurchase() {