Feat: Macht Transaktionen prüf- bzw. editierbar
This commit is contained in:
@@ -136,7 +136,7 @@ class RecurringTransactionController {
|
||||
}
|
||||
|
||||
/// Startet den Prozess, um eine wiederkehrende Transaktion zu bearbeiten
|
||||
Future<void> editRecurringTransaction(
|
||||
Future<void> editRecurringTransactionHandler(
|
||||
final int recurringTransactionId,
|
||||
) async {
|
||||
final RecurringTransaction? recurringTransaction =
|
||||
@@ -144,7 +144,7 @@ class RecurringTransactionController {
|
||||
|
||||
if (recurringTransaction != null) {
|
||||
final editRecurringTransactionDialog = DynamicDialog(
|
||||
title: '${recurringTransaction.name} umbenennen',
|
||||
title: '${recurringTransaction.name} bearbeiten',
|
||||
icon: Icons.edit,
|
||||
inputFields: [
|
||||
DialogInputField(
|
||||
@@ -184,7 +184,7 @@ class RecurringTransactionController {
|
||||
actions: [
|
||||
DialogAction(label: 'Abbruch'),
|
||||
DialogAction(
|
||||
label: 'Speichern',
|
||||
label: 'Bearbeiten',
|
||||
isPrimary: true,
|
||||
onPressed: _editRecurringTransaction,
|
||||
),
|
||||
|
||||
@@ -127,14 +127,25 @@ class TransactionController {
|
||||
}
|
||||
|
||||
/// Startet den Prozess, um eine Transaktion zu bearbeiten
|
||||
Future<void> editTransaction(final int transactionId) async {
|
||||
Future<void> editTransactionHandler(final int transactionId) async {
|
||||
final Transaction? transaction = await _transactionRepository.find(
|
||||
transactionId,
|
||||
);
|
||||
|
||||
if (transaction != null) {
|
||||
final String title;
|
||||
final String submitButtonText;
|
||||
|
||||
if (transaction.checked) {
|
||||
title = '${transaction.name} bearbeiten';
|
||||
submitButtonText = 'Bearbeiten';
|
||||
} else {
|
||||
title = '${transaction.name} prüfen';
|
||||
submitButtonText = 'Prüfen';
|
||||
}
|
||||
|
||||
final editTransactionDialog = DynamicDialog(
|
||||
title: '${transaction.name} umbenennen',
|
||||
title: title,
|
||||
icon: Icons.edit,
|
||||
inputFields: [
|
||||
DialogInputField(
|
||||
@@ -160,7 +171,7 @@ class TransactionController {
|
||||
actions: [
|
||||
DialogAction(label: 'Abbruch'),
|
||||
DialogAction(
|
||||
label: 'Speichern',
|
||||
label: submitButtonText,
|
||||
isPrimary: true,
|
||||
onPressed: _editTransaction,
|
||||
),
|
||||
@@ -245,6 +256,7 @@ class TransactionController {
|
||||
date: Value(values['date']),
|
||||
amount: Value(values['amount']),
|
||||
accountId: Value(transaction.accountId),
|
||||
checked: const Value(true),
|
||||
);
|
||||
|
||||
await _transactionRepository.update(rtc);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../Controller/account_controller.dart';
|
||||
@@ -56,8 +58,22 @@ class _RecentTransactionsListState extends State<RecentTransactionsList> {
|
||||
(final Transaction transaction) => Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 4),
|
||||
child: ListTile(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
title: Text(transaction.name),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
onTap: () {
|
||||
unawaited(
|
||||
_transactionController.editTransactionHandler(
|
||||
transaction.id,
|
||||
),
|
||||
);
|
||||
},
|
||||
title: Text(
|
||||
transaction.name,
|
||||
style: (transaction.checked)
|
||||
? const TextStyle()
|
||||
: TextStyle(color: theme.colorScheme.error),
|
||||
),
|
||||
trailing: Text(
|
||||
'${transaction.amount.abs().toStringAsFixed(2)} €',
|
||||
style: TextStyle(
|
||||
|
||||
@@ -53,7 +53,7 @@ class _RecurringTransactionListState extends State<RecurringTransactionList> {
|
||||
name: 'Wiederkehrende Transaktionen',
|
||||
items: formatedRecurringTransactions,
|
||||
onAdd: _recurringTransactionController.newRecurringTransactionHandler,
|
||||
onEdit: _recurringTransactionController.editRecurringTransaction,
|
||||
onEdit: _recurringTransactionController.editRecurringTransactionHandler,
|
||||
onDelete:
|
||||
_recurringTransactionController.deleteRecurringTransactionHandler,
|
||||
icon: const Icon(Icons.repeat),
|
||||
|
||||
Reference in New Issue
Block a user