Bank accounts

This commit is contained in:
Hillel Coren 2022-09-12 16:48:54 +03:00
parent 5f2c9d32d4
commit edb50763fe
6 changed files with 29 additions and 7 deletions

View File

@ -496,6 +496,7 @@ const String kSettingsExpenseCategoryEdit = 'expense_category/edit';
const String kSettingsTaskStatuses = 'task_status';
const String kSettingsTaskStatusView = 'task_status/view';
const String kSettingsTaskStatusEdit = 'task_status/edit';
const String kSettingsBankAccountSettings = 'bank_account_settings';
const String kSettingsBankAccounts = 'bank_accounts';
const String kSettingsBankAccountsView = 'bank_accounts/view';

View File

@ -173,13 +173,13 @@ abstract class BankAccountEntity extends Object
}
@override
String get listDisplayName => null;
String get listDisplayName => name;
@override
double get listDisplayAmount => null;
double get listDisplayAmount => balance;
@override
FormatNumberType get listDisplayAmountType => null;
FormatNumberType get listDisplayAmountType => FormatNumberType.money;
static Serializer<BankAccountEntity> get serializer =>
_$bankAccountEntitySerializer;

View File

@ -11,6 +11,7 @@ import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:flutter_styled_toast/flutter_styled_toast.dart';
import 'package:intl/intl.dart';
import 'package:invoiceninja_flutter/ui/settings/bank_accounts_vm.dart';
import 'package:invoiceninja_flutter/ui/settings/payment_settings_vm.dart';
import 'package:local_auth/local_auth.dart';
import 'package:redux/redux.dart';
@ -510,6 +511,8 @@ class InvoiceNinjaAppState extends State<InvoiceNinjaApp> {
BankAccountScreenBuilder(),
BankAccountViewScreen.route: (context) =>
BankAccountViewScreen(),
BankAccountSettingsScreen.route: (context) =>
BankAccountSettingsScreen(),
PurchaseOrderScreen.route: (context) =>
PurchaseOrderScreenBuilder(),
PurchaseOrderViewScreen.route: (context) =>

View File

@ -6,12 +6,14 @@ import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/ui/app/app_title_bar.dart';
import 'package:invoiceninja_flutter/ui/app/window_manager.dart';
import 'package:invoiceninja_flutter/ui/bank_account/bank_account_screen_vm.dart';
import 'package:invoiceninja_flutter/ui/bank_account/view/bank_account_view_vm.dart';
import 'package:invoiceninja_flutter/ui/purchase_order/edit/purchase_order_edit_vm.dart';
import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_email_vm.dart';
import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_pdf_vm.dart';
import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_screen.dart';
import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_screen_vm.dart';
import 'package:invoiceninja_flutter/ui/purchase_order/view/purchase_order_view_vm.dart';
import 'package:invoiceninja_flutter/ui/settings/bank_accounts_vm.dart';
import 'package:invoiceninja_flutter/ui/settings/payment_settings_vm.dart';
import 'package:invoiceninja_flutter/utils/platforms.dart';
import 'package:redux/redux.dart';
@ -935,9 +937,15 @@ class SettingsScreens extends StatelessWidget {
case kSettingsExpenseCategoryEdit:
screen = ExpenseCategoryEditScreen();
break;
case kSettingsBankAccountSettings:
screen = BankAccountSettingsScreen();
break;
case kSettingsBankAccounts:
screen = BankAccountScreenBuilder();
break;
case kSettingsBankAccountsView:
screen = BankAccountViewScreen();
break;
}
return Row(children: <Widget>[

View File

@ -1,7 +1,10 @@
import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/ui/app/entity_header.dart';
import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart';
import 'package:invoiceninja_flutter/ui/bank_account/view/bank_account_view_vm.dart';
import 'package:invoiceninja_flutter/ui/app/view_scaffold.dart';
import 'package:invoiceninja_flutter/utils/formatting.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
class BankAccountView extends StatefulWidget {
const BankAccountView({
@ -20,6 +23,7 @@ class BankAccountView extends StatefulWidget {
class _BankAccountViewState extends State<BankAccountView> {
@override
Widget build(BuildContext context) {
final localization = AppLocalization.of(context);
final viewModel = widget.viewModel;
final bankAccount = viewModel.bankAccount;
@ -27,7 +31,13 @@ class _BankAccountViewState extends State<BankAccountView> {
isFilter: widget.isFilter,
entity: bankAccount,
body: ScrollableListView(
children: <Widget>[],
children: <Widget>[
EntityHeader(
entity: bankAccount,
label: localization.balance,
value: formatNumber(bankAccount.balance, context),
)
],
),
);
}

View File

@ -23,9 +23,9 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:url_launcher/url_launcher.dart';
class OldBankAccountsScreen extends StatelessWidget {
const OldBankAccountsScreen({Key key}) : super(key: key);
static const String route = '/$kSettings/$kSettingsBankAccounts';
class BankAccountSettingsScreen extends StatelessWidget {
const BankAccountSettingsScreen({Key key}) : super(key: key);
static const String route = '/$kSettings/$kSettingsBankAccountSettings';
@override
Widget build(BuildContext context) {