[ARVADOS-WORKBENCH2] updated: 1.4.1-264-ga6fff3ef
Git user
git at public.arvados.org
Tue Feb 4 22:58:27 UTC 2020
Summary of changes:
src/store/users/users-actions.ts | 23 ++++++++++++++++++++++
src/validators/validators.tsx | 2 ++
.../context-menu/action-sets/user-action-set.ts | 11 +++++++----
.../dialog-forms/setup-shell-account-dialog.tsx | 19 +++++-------------
4 files changed, 37 insertions(+), 18 deletions(-)
via a6fff3efaf195a82d9d912fa9ab134a9d9e05c48 (commit)
from c7d5dec8425d970c41a81c6328b91665acec1ec0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit a6fff3efaf195a82d9d912fa9ab134a9d9e05c48
Author: Peter Amstutz <peter.amstutz at curii.com>
Date: Tue Feb 4 17:56:12 2020 -0500
Neither "log in as user" nor "setup VM for user" works, so hide it
To be reenabled when the corresponding bugs are fixed:
refs #16114
refs #16124
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>
diff --git a/src/store/users/users-actions.ts b/src/store/users/users-actions.ts
index f6287260..7b12fe75 100644
--- a/src/store/users/users-actions.ts
+++ b/src/store/users/users-actions.ts
@@ -27,6 +27,12 @@ export interface UserCreateFormDialogData {
groupVirtualMachine: string;
}
+export interface SetupShellAccountFormDialogData {
+ email: string;
+ virtualMachineName: string;
+ groupVirtualMachine: string;
+}
+
export const openUserAttributes = (uuid: string) =>
(dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
const { resources } = getState();
@@ -94,6 +100,23 @@ export const createUser = (user: UserCreateFormDialogData) =>
}
};
+
+export const setupUserVM = (setupData: SetupShellAccountFormDialogData) =>
+ async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ dispatch(startSubmit(USER_CREATE_FORM_NAME));
+ try {
+ // TODO: make correct API call
+ // const setupResult = await services.userService.setup({ ...setupData });
+ dispatch(dialogActions.CLOSE_DIALOG({ id: SETUP_SHELL_ACCOUNT_DIALOG }));
+ dispatch(reset(SETUP_SHELL_ACCOUNT_DIALOG));
+ dispatch(snackbarActions.OPEN_SNACKBAR({ message: "User has been added to VM.", hideDuration: 2000, kind: SnackbarKind.SUCCESS }));
+ dispatch<any>(loadUsersPanel());
+ dispatch(userBindedActions.REQUEST_ITEMS());
+ } catch (e) {
+ return;
+ }
+ };
+
export const openUserPanel = () =>
async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
const user = getState().auth.user;
diff --git a/src/validators/validators.tsx b/src/validators/validators.tsx
index 605d051c..d9eca97f 100644
--- a/src/validators/validators.tsx
+++ b/src/validators/validators.tsx
@@ -38,3 +38,5 @@ export const SSH_KEY_NAME_VALIDATION = [require, maxLength(255)];
export const SITE_MANAGER_REMOTE_HOST_VALIDATION = [require, isRemoteHost, maxLength(255)];
export const MY_ACCOUNT_VALIDATION = [require];
+
+export const CHOOSE_VM_VALIDATION = [require];
diff --git a/src/views-components/context-menu/action-sets/user-action-set.ts b/src/views-components/context-menu/action-sets/user-action-set.ts
index d2b97d15..2582800e 100644
--- a/src/views-components/context-menu/action-sets/user-action-set.ts
+++ b/src/views-components/context-menu/action-sets/user-action-set.ts
@@ -3,9 +3,9 @@
// SPDX-License-Identifier: AGPL-3.0
import { ContextMenuActionSet } from "~/views-components/context-menu/context-menu-action-set";
-import { AdvancedIcon, ProjectIcon, AttributesIcon, UserPanelIcon } from "~/components/icon/icon";
+import { AdvancedIcon, ProjectIcon, AttributesIcon } from "~/components/icon/icon";
import { openAdvancedTabDialog } from '~/store/advanced-tab/advanced-tab';
-import { openUserAttributes, openUserProjects, openUserManagement } from "~/store/users/users-actions";
+import { openUserAttributes, openUserProjects } from "~/store/users/users-actions";
export const userActionSet: ContextMenuActionSet = [[{
name: "Attributes",
@@ -25,10 +25,13 @@ export const userActionSet: ContextMenuActionSet = [[{
execute: (dispatch, { uuid }) => {
dispatch<any>(openAdvancedTabDialog(uuid));
}
-}, {
+}, /*
+ // Neither of the buttons on this dialog work correctly (bugs #16114 and #16124) so hide it for now.
+ {
name: "Manage",
icon: UserPanelIcon,
execute: (dispatch, { uuid }) => {
dispatch<any>(openUserManagement(uuid));
}
-}]];
+} */
+]];
diff --git a/src/views-components/dialog-forms/setup-shell-account-dialog.tsx b/src/views-components/dialog-forms/setup-shell-account-dialog.tsx
index c53f53c2..7e8a657a 100644
--- a/src/views-components/dialog-forms/setup-shell-account-dialog.tsx
+++ b/src/views-components/dialog-forms/setup-shell-account-dialog.tsx
@@ -8,24 +8,18 @@ import { withDialog, WithDialogProps } from "~/store/dialog/with-dialog";
import { FormDialog } from '~/components/form-dialog/form-dialog';
import { TextField } from '~/components/text-field/text-field';
import { VirtualMachinesResource } from '~/models/virtual-machines';
-import { USER_LENGTH_VALIDATION } from '~/validators/validators';
+import { USER_LENGTH_VALIDATION, CHOOSE_VM_VALIDATION } from '~/validators/validators';
import { InputLabel } from '@material-ui/core';
import { NativeSelectField } from '~/components/select-field/select-field';
-import { SETUP_SHELL_ACCOUNT_DIALOG, createUser } from '~/store/users/users-actions';
+import { SetupShellAccountFormDialogData, SETUP_SHELL_ACCOUNT_DIALOG, setupUserVM } from '~/store/users/users-actions';
import { UserResource } from '~/models/user';
-interface SetupShellAccountFormDialogData {
- email: string;
- virtualMachineName: string;
- groupVirtualMachine: string;
-}
-
export const SetupShellAccountDialog = compose(
withDialog(SETUP_SHELL_ACCOUNT_DIALOG),
reduxForm<SetupShellAccountFormDialogData>({
form: SETUP_SHELL_ACCOUNT_DIALOG,
onSubmit: (data, dispatch) => {
- dispatch(createUser(data));
+ dispatch(setupUserVM(data));
}
})
)(
@@ -68,7 +62,7 @@ const UserVirtualMachineField = ({ data }: VirtualMachinesProps) =>
<Field
name='virtualMachine'
component={NativeSelectField}
- validate={USER_LENGTH_VALIDATION}
+ validate={CHOOSE_VM_VALIDATION}
items={getVirtualMachinesList(data.items)} />
</div>;
@@ -80,7 +74,7 @@ const UserGroupsVirtualMachineField = () =>
label="Groups for virtual machine (comma separated list)" />;
const getVirtualMachinesList = (virtualMachines: VirtualMachinesResource[]) =>
- virtualMachines.map(it => ({ key: it.hostname, value: it.hostname }));
+ [{ key: "", value: "" }].concat(virtualMachines.map(it => ({ key: it.hostname, value: it.hostname })));
type SetupShellAccountDialogComponentProps = WithDialogProps<{}> & InjectedFormProps<SetupShellAccountFormDialogData>;
@@ -90,6 +84,3 @@ const SetupShellAccountFormFields = (props: SetupShellAccountDialogComponentProp
<UserVirtualMachineField data={props.data as DataProps} />
<UserGroupsVirtualMachineField />
</>;
-
-
-
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list