Can transfer movement from an account to another
This commit is contained in:
		@@ -7,8 +7,10 @@ import { useParams } from "react-router-dom";
 | 
				
			|||||||
import { Movement, MovementApi } from "../api/MovementsApi";
 | 
					import { Movement, MovementApi } from "../api/MovementsApi";
 | 
				
			||||||
import { useAccounts } from "../hooks/AccountsListProvider";
 | 
					import { useAccounts } from "../hooks/AccountsListProvider";
 | 
				
			||||||
import { useAlert } from "../hooks/context_providers/AlertDialogProvider";
 | 
					import { useAlert } from "../hooks/context_providers/AlertDialogProvider";
 | 
				
			||||||
 | 
					import { useSelectAccount } from "../hooks/context_providers/ChooseAccountDialogProvider";
 | 
				
			||||||
import { useConfirm } from "../hooks/context_providers/ConfirmDialogProvider";
 | 
					import { useConfirm } from "../hooks/context_providers/ConfirmDialogProvider";
 | 
				
			||||||
import { useLoadingMessage } from "../hooks/context_providers/LoadingMessageProvider";
 | 
					import { useLoadingMessage } from "../hooks/context_providers/LoadingMessageProvider";
 | 
				
			||||||
 | 
					import { useSnackbar } from "../hooks/context_providers/SnackbarProvider";
 | 
				
			||||||
import { AccountWidget } from "../widgets/AccountWidget";
 | 
					import { AccountWidget } from "../widgets/AccountWidget";
 | 
				
			||||||
import { AmountWidget } from "../widgets/AmountWidget";
 | 
					import { AmountWidget } from "../widgets/AmountWidget";
 | 
				
			||||||
import { AsyncWidget } from "../widgets/AsyncWidget";
 | 
					import { AsyncWidget } from "../widgets/AsyncWidget";
 | 
				
			||||||
@@ -16,7 +18,6 @@ import { DateWidget } from "../widgets/DateWidget";
 | 
				
			|||||||
import { MoneyMgrWebRouteContainer } from "../widgets/MoneyMgrWebRouteContainer";
 | 
					import { MoneyMgrWebRouteContainer } from "../widgets/MoneyMgrWebRouteContainer";
 | 
				
			||||||
import { NewMovementWidget } from "../widgets/NewMovementWidget";
 | 
					import { NewMovementWidget } from "../widgets/NewMovementWidget";
 | 
				
			||||||
import { NotFoundRoute } from "./NotFound";
 | 
					import { NotFoundRoute } from "./NotFound";
 | 
				
			||||||
import { useSelectAccount } from "../hooks/context_providers/ChooseAccountDialogProvider";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function AccountRoute(): React.ReactElement {
 | 
					export function AccountRoute(): React.ReactElement {
 | 
				
			||||||
  const loadingMessage = useLoadingMessage();
 | 
					  const loadingMessage = useLoadingMessage();
 | 
				
			||||||
@@ -91,6 +92,7 @@ function MovementsTable(p: {
 | 
				
			|||||||
  const accounts = useAccounts();
 | 
					  const accounts = useAccounts();
 | 
				
			||||||
  const alert = useAlert();
 | 
					  const alert = useAlert();
 | 
				
			||||||
  const confirm = useConfirm();
 | 
					  const confirm = useConfirm();
 | 
				
			||||||
 | 
					  const snackbar = useSnackbar();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const chooseAccount = useSelectAccount();
 | 
					  const chooseAccount = useSelectAccount();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -103,8 +105,20 @@ function MovementsTable(p: {
 | 
				
			|||||||
      [accounts.get(movement.account_id)!]
 | 
					      [accounts.get(movement.account_id)!]
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // TODO
 | 
					    if (!target) return;
 | 
				
			||||||
    alert(target?.id?.toString() ?? "none");
 | 
					
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					      movement.account_id = target.id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      await MovementApi.Update(movement);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      snackbar("The movement has been successfully moved!");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      p.needReload(false);
 | 
				
			||||||
 | 
					    } catch (e) {
 | 
				
			||||||
 | 
					      console.error("Failed to update movement information!", e);
 | 
				
			||||||
 | 
					      alert(`Failed to change movemlent account! ${e}`);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Delete movement
 | 
					  // Delete movement
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user