18966: Removes it.only() call from a previous branch.
[arvados.git] / src / store / my-account / my-account-panel-actions.ts
index cb1584cbd0876c9b97914e81d08074ea91883c9f..9e974aa94d9b7ca623d3864ef3e43a3c9e83f422 100644 (file)
@@ -3,15 +3,28 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import { Dispatch } from "redux";
-import { RootState } from "~/store/store";
-import { ServiceRepository } from "~/services/services";
-import { setBreadcrumbs } from "~/store/breadcrumbs/breadcrumbs-actions";
+import { RootState } from "store/store";
+import { initialize } from "redux-form";
+import { ServiceRepository } from "services/services";
+import { setBreadcrumbs } from "store/breadcrumbs/breadcrumbs-actions";
+import { authActions } from "store/auth/auth-action";
+import { snackbarActions, SnackbarKind } from "store/snackbar/snackbar-actions";
+
+export const MY_ACCOUNT_FORM = 'myAccountForm';
 
 export const loadMyAccountPanel = () =>
+    (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
+        dispatch(setBreadcrumbs([{ label: 'User profile' }]));
+    };
+
+export const saveEditedUser = (resource: any) =>
     async (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
         try {
-            dispatch(setBreadcrumbs([{ label: 'User profile'}]));
+            await services.userService.update(resource.uuid, resource);
+            dispatch(authActions.USER_DETAILS_SUCCESS(resource));
+            dispatch(initialize(MY_ACCOUNT_FORM, resource));
+            dispatch(snackbarActions.OPEN_SNACKBAR({ message: "Profile has been updated.", hideDuration: 2000, kind: SnackbarKind.SUCCESS }));
         } catch (e) {
             return;
         }
-    };
\ No newline at end of file
+    };