diff --git a/lib/ui/payment/edit/payment_edit.dart b/lib/ui/payment/edit/payment_edit.dart index 8db4997b2..461e416d3 100644 --- a/lib/ui/payment/edit/payment_edit.dart +++ b/lib/ui/payment/edit/payment_edit.dart @@ -8,7 +8,7 @@ import 'package:invoiceninja_flutter/utils/localization.dart'; class PaymentEdit extends StatefulWidget { final PaymentEditVM viewModel; - PaymentEdit({ + const PaymentEdit({ Key key, @required this.viewModel, }) : super(key: key); @@ -39,7 +39,7 @@ class _PaymentEditState extends State { _controllers.forEach((controller) => controller.removeListener(_onChanged)); - var payment = widget.viewModel.payment; + final payment = widget.viewModel.payment; //_amountController.text = payment.amount; @@ -63,7 +63,7 @@ class _PaymentEditState extends State { } void _onChanged() { - var payment = widget.viewModel.payment.rebuild((b) => b + final payment = widget.viewModel.payment.rebuild((b) => b //..amount = _amountController.text.trim() ..transactionReference = _transactionReferenceController.text.trim() ..privateNotes = _privateNotesController.text.trim()); diff --git a/lib/ui/payment/edit/payment_edit_vm.dart b/lib/ui/payment/edit/payment_edit_vm.dart index e48f6e142..f5d6cf6a4 100644 --- a/lib/ui/payment/edit/payment_edit_vm.dart +++ b/lib/ui/payment/edit/payment_edit_vm.dart @@ -1,4 +1,3 @@ -import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; @@ -11,10 +10,9 @@ import 'package:invoiceninja_flutter/redux/payment/payment_actions.dart'; import 'package:invoiceninja_flutter/data/models/payment_model.dart'; import 'package:invoiceninja_flutter/ui/payment/edit/payment_edit.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; -import 'package:invoiceninja_flutter/ui/app/icon_message.dart'; class PaymentEditScreen extends StatelessWidget { - static final String route = '/payment/edit'; + static const String route = '/payment/edit'; const PaymentEditScreen({Key key}) : super(key: key); diff --git a/lib/ui/payment/payment_list.dart b/lib/ui/payment/payment_list.dart index 0629b85fa..7d9add7cd 100644 --- a/lib/ui/payment/payment_list.dart +++ b/lib/ui/payment/payment_list.dart @@ -41,15 +41,6 @@ class PaymentList extends StatelessWidget { final message = await showDialog( context: context, builder: (BuildContext context) => SimpleDialog(children: [ - user.canCreate(EntityType.payment) - ? ListTile( - leading: Icon(Icons.control_point_duplicate), - title: Text(AppLocalization.of(context).clone), - onTap: () => viewModel.onEntityAction( - context, payment, EntityAction.clone), - ) - : Container(), - Divider(), user.canEditEntity(payment) && !payment.isActive ? ListTile( leading: Icon(Icons.restore), diff --git a/lib/ui/payment/payment_screen.dart b/lib/ui/payment/payment_screen.dart index e7174684b..260b30736 100644 --- a/lib/ui/payment/payment_screen.dart +++ b/lib/ui/payment/payment_screen.dart @@ -9,7 +9,6 @@ import 'package:invoiceninja_flutter/ui/payment/payment_list_vm.dart'; import 'package:invoiceninja_flutter/redux/payment/payment_actions.dart'; import 'package:invoiceninja_flutter/ui/app/app_drawer_vm.dart'; import 'package:invoiceninja_flutter/ui/app/app_bottom_bar.dart'; -import 'package:invoiceninja_flutter/utils/keys.dart'; class PaymentScreen extends StatelessWidget { static const String route = '/payment'; diff --git a/lib/ui/payment/view/payment_view_vm.dart b/lib/ui/payment/view/payment_view_vm.dart index 73b0106fe..63470787f 100644 --- a/lib/ui/payment/view/payment_view_vm.dart +++ b/lib/ui/payment/view/payment_view_vm.dart @@ -1,4 +1,3 @@ -import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; @@ -10,11 +9,11 @@ import 'package:invoiceninja_flutter/data/models/payment_model.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/ui/payment/view/payment_view.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; -import 'package:invoiceninja_flutter/ui/app/icon_message.dart'; class PaymentViewScreen extends StatelessWidget { - static final String route = '/payment/view'; - PaymentViewScreen({Key key}) : super(key: key); + static const String route = '/payment/view'; + + const PaymentViewScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -48,7 +47,6 @@ class PaymentViewVM { @required this.isSaving, @required this.isLoading, @required this.isDirty, - }); factory PaymentViewVM.fromStore(Store store) { diff --git a/lib/utils/localization.dart b/lib/utils/localization.dart index 2af4e41af..f33c8674b 100644 --- a/lib/utils/localization.dart +++ b/lib/utils/localization.dart @@ -181,6 +181,7 @@ class AppLocalization { 'industry': 'Industry', 'size': 'Size', 'payment_terms': 'Payment Terms', + 'payment_date': 'Payment Date', 'net': 'Net', 'client_portal': 'Client Portal', 'show_tasks': 'Show tasks', @@ -7473,6 +7474,9 @@ class AppLocalization { String get paymentTerms => _localizedValues[locale.languageCode]['payment_terms']; + String get paymentDate => + _localizedValues[locale.languageCode]['payment_date']; + String get net => _localizedValues[locale.languageCode]['net']; String get clientPortal => @@ -7526,7 +7530,8 @@ class AppLocalization { String get payments => _localizedValues[locale.languageCode]['payments']; - String get enterPayment => _localizedValues[locale.languageCode]['enter_payment']; + String get enterPayment => + _localizedValues[locale.languageCode]['enter_payment']; String get createdPayment => _localizedValues[locale.languageCode]['created_payment']; diff --git a/stubs/ui/stub/edit/stub_edit b/stubs/ui/stub/edit/stub_edit index 2fdb1e632..0d2de29c2 100644 --- a/stubs/ui/stub/edit/stub_edit +++ b/stubs/ui/stub/edit/stub_edit @@ -7,7 +7,7 @@ import 'package:invoiceninja_flutter/ui/app/buttons/refresh_icon_button.dart'; class StubEdit extends StatefulWidget { final StubEditVM viewModel; - StubEdit({ + const StubEdit({ Key key, @required this.viewModel, }) : super(key: key); @@ -32,7 +32,7 @@ class _StubEditState extends State { _controllers.forEach((controller) => controller.removeListener(_onChanged)); - var stub = widget.viewModel.stub; + final stub = widget.viewModel.stub; // STARTER: read value - do not remove comment _controllers.forEach((controller) => controller.addListener(_onChanged)); @@ -51,7 +51,7 @@ class _StubEditState extends State { } _onChanged() { - var stub = widget.viewModel.stub.rebuild((b) => b + final stub = widget.viewModel.stub.rebuild((b) => b // STARTER: set value - do not remove comment ); if (stub != widget.viewModel.stub) { @@ -61,7 +61,7 @@ class _StubEditState extends State { @override Widget build(BuildContext context) { - var viewModel = widget.viewModel; + final viewModel = widget.viewModel; return WillPopScope( onWillPop: () async { diff --git a/stubs/ui/stub/edit/stub_edit_vm b/stubs/ui/stub/edit/stub_edit_vm index cbdd8377e..3e50ae559 100644 --- a/stubs/ui/stub/edit/stub_edit_vm +++ b/stubs/ui/stub/edit/stub_edit_vm @@ -12,7 +12,7 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/ui/app/icon_message.dart'; class StubEditScreen extends StatelessWidget { - static final String route = '/stub/edit'; + static const String route = '/stub/edit'; StubEditScreen({Key key}) : super(key: key); @override diff --git a/stubs/ui/stub/view/stub_view_vm b/stubs/ui/stub/view/stub_view_vm index a178bd1e2..935161880 100644 --- a/stubs/ui/stub/view/stub_view_vm +++ b/stubs/ui/stub/view/stub_view_vm @@ -11,8 +11,8 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/ui/app/icon_message.dart'; class StubViewScreen extends StatelessWidget { - static final String route = '/stub/view'; - StubViewScreen({Key key}) : super(key: key); + static const String route = '/stub/view'; + const StubViewScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) {