Transactions

This commit is contained in:
Hillel Coren 2022-09-19 10:56:54 +03:00
parent 4e4f16e2fb
commit ff0133ca9f
3 changed files with 9 additions and 8 deletions

View File

@ -17,7 +17,7 @@ class TransactionRepository {
Future<TransactionEntity> loadItem( Future<TransactionEntity> loadItem(
Credentials credentials, String entityId) async { Credentials credentials, String entityId) async {
final dynamic response = await webClient.get( final dynamic response = await webClient.get(
'${credentials.url}/transactions/$entityId', credentials.token); '${credentials.url}/bank_transactions/$entityId', credentials.token);
final TransactionItemResponse transactionResponse = serializers final TransactionItemResponse transactionResponse = serializers
.deserializeWith(TransactionItemResponse.serializer, response); .deserializeWith(TransactionItemResponse.serializer, response);
@ -26,7 +26,7 @@ class TransactionRepository {
} }
Future<BuiltList<TransactionEntity>> loadList(Credentials credentials) async { Future<BuiltList<TransactionEntity>> loadList(Credentials credentials) async {
final String url = credentials.url + '/transactions?'; final String url = credentials.url + '/bank_transactions?';
final dynamic response = await webClient.get(url, credentials.token); final dynamic response = await webClient.get(url, credentials.token);
final TransactionListResponse transactionResponse = serializers final TransactionListResponse transactionResponse = serializers
@ -42,7 +42,7 @@ class TransactionRepository {
} }
final url = credentials.url + final url = credentials.url +
'/transactions/bulk?per_page=$kMaxEntitiesPerBulkAction'; '/bank_transactions/bulk?per_page=$kMaxEntitiesPerBulkAction';
final dynamic response = await webClient.post(url, credentials.token, final dynamic response = await webClient.post(url, credentials.token,
data: json.encode({'ids': ids, 'action': action.toApiParam()})); data: json.encode({'ids': ids, 'action': action.toApiParam()}));
@ -60,10 +60,10 @@ class TransactionRepository {
if (transaction.isNew) { if (transaction.isNew) {
response = await webClient.post( response = await webClient.post(
credentials.url + '/transactions', credentials.token, credentials.url + '/bank_transactions', credentials.token,
data: json.encode(data)); data: json.encode(data));
} else { } else {
final url = '${credentials.url}/transactions/${transaction.id}'; final url = '${credentials.url}/bank_transactions/${transaction.id}';
response = response =
await webClient.put(url, credentials.token, data: json.encode(data)); await webClient.put(url, credentials.token, data: json.encode(data));
} }

View File

@ -15,6 +15,7 @@ import 'package:invoiceninja_flutter/ui/purchase_order/purchase_order_screen_vm.
import 'package:invoiceninja_flutter/ui/purchase_order/view/purchase_order_view_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/bank_accounts_vm.dart';
import 'package:invoiceninja_flutter/ui/settings/payment_settings_vm.dart'; import 'package:invoiceninja_flutter/ui/settings/payment_settings_vm.dart';
import 'package:invoiceninja_flutter/ui/transaction/edit/transaction_edit_vm.dart';
import 'package:invoiceninja_flutter/ui/transaction/transaction_screen.dart'; import 'package:invoiceninja_flutter/ui/transaction/transaction_screen.dart';
import 'package:invoiceninja_flutter/ui/transaction/transaction_screen_vm.dart'; import 'package:invoiceninja_flutter/ui/transaction/transaction_screen_vm.dart';
import 'package:invoiceninja_flutter/ui/transaction/view/transaction_view_vm.dart'; import 'package:invoiceninja_flutter/ui/transaction/view/transaction_view_vm.dart';
@ -501,6 +502,9 @@ class EntityScreens extends StatelessWidget {
case EntityType.recurringExpense: case EntityType.recurringExpense:
child = RecurringExpenseEditScreen(); child = RecurringExpenseEditScreen();
break; break;
case EntityType.transaction:
child = TransactionEditScreen();
break;
} }
} else { } else {
final previewStack = uiState.previewStack; final previewStack = uiState.previewStack;

View File

@ -23,7 +23,6 @@ class _TransactionEditState extends State<TransactionEdit> {
GlobalKey<FormState>(debugLabel: '_transactionEdit'); GlobalKey<FormState>(debugLabel: '_transactionEdit');
final _debouncer = Debouncer(); final _debouncer = Debouncer();
// STARTER: controllers - do not remove comment
final _descriptionController = TextEditingController(); final _descriptionController = TextEditingController();
List<TextEditingController> _controllers = []; List<TextEditingController> _controllers = [];
@ -31,14 +30,12 @@ class _TransactionEditState extends State<TransactionEdit> {
@override @override
void didChangeDependencies() { void didChangeDependencies() {
_controllers = [ _controllers = [
// STARTER: array - do not remove comment
_descriptionController, _descriptionController,
]; ];
_controllers.forEach((controller) => controller.removeListener(_onChanged)); _controllers.forEach((controller) => controller.removeListener(_onChanged));
final transaction = widget.viewModel.transaction; final transaction = widget.viewModel.transaction;
// STARTER: read value - do not remove comment
_descriptionController.text = transaction.description; _descriptionController.text = transaction.description;
_controllers.forEach((controller) => controller.addListener(_onChanged)); _controllers.forEach((controller) => controller.addListener(_onChanged));