[ARVADOS-WORKBENCH2] updated: 1.3.0-190-g229eaf53
Git user
git at public.curoverse.com
Tue Dec 18 04:09:09 EST 2018
Summary of changes:
src/components/autocomplete/autocomplete.tsx | 5 +-
src/components/data-explorer/data-explorer.tsx | 9 +-
src/index.tsx | 4 +
src/models/link.ts | 4 +-
src/routes/route-change-handlers.ts | 10 +
src/routes/routes.ts | 12 +-
src/services/api/filter-builder.ts | 10 +-
src/store/breadcrumbs/breadcrumbs-actions.ts | 20 ++
.../group-details-panel-actions.ts | 132 ++++++++++++
.../group-details-panel-middleware-service.ts | 79 ++++++++
src/store/groups-panel/groups-panel-actions.ts | 225 +++++++++++++++++++++
.../groups-panel-middleware-service.ts | 97 +++++++++
src/store/navigation/navigation-action.ts | 11 +-
src/store/store.ts | 15 +-
src/store/users/users-actions.ts | 7 +-
src/store/workbench/workbench-actions.ts | 22 +-
src/validators/min-length.tsx | 10 +
.../{ssh-key-action-set.ts => group-action-set.ts} | 16 +-
...ne-action-set.ts => group-member-action-set.ts} | 16 +-
src/views-components/context-menu/context-menu.tsx | 4 +-
.../data-explorer/data-explorer.tsx | 3 +-
.../dialog-forms/add-group-member-dialog.tsx | 48 +++++
.../dialog-forms/create-group-dialog.tsx | 62 ++++++
.../dialog-forms/setup-shell-account-dialog.tsx | 18 +-
.../attributes-dialog.tsx | 40 ++--
.../member-attributes-dialog.tsx} | 34 ++--
.../member-remove-dialog.ts} | 10 +-
.../remove-dialog.ts} | 9 +-
src/views-components/main-app-bar/account-menu.tsx | 11 +-
src/views-components/main-app-bar/admin-menu.tsx | 11 +-
src/views-components/main-app-bar/help-menu.tsx | 54 +++--
.../sharing-dialog/people-select.tsx | 9 +-
src/views-components/side-panel/side-panel.tsx | 17 +-
.../group-details-panel/group-details-panel.tsx | 126 ++++++++++++
src/views/groups-panel/groups-panel.tsx | 133 ++++++++++++
src/views/workbench/workbench.tsx | 16 ++
36 files changed, 1188 insertions(+), 121 deletions(-)
create mode 100644 src/store/group-details-panel/group-details-panel-actions.ts
create mode 100644 src/store/group-details-panel/group-details-panel-middleware-service.ts
create mode 100644 src/store/groups-panel/groups-panel-actions.ts
create mode 100644 src/store/groups-panel/groups-panel-middleware-service.ts
create mode 100644 src/validators/min-length.tsx
copy src/views-components/context-menu/action-sets/{ssh-key-action-set.ts => group-action-set.ts} (54%)
copy src/views-components/context-menu/action-sets/{virtual-machine-action-set.ts => group-member-action-set.ts} (52%)
create mode 100644 src/views-components/dialog-forms/add-group-member-dialog.tsx
create mode 100644 src/views-components/dialog-forms/create-group-dialog.tsx
copy src/views-components/{user-dialog => groups-dialog}/attributes-dialog.tsx (70%)
copy src/views-components/{user-dialog/attributes-dialog.tsx => groups-dialog/member-attributes-dialog.tsx} (74%)
copy src/views-components/{process-remove-dialog/process-remove-dialog.tsx => groups-dialog/member-remove-dialog.ts} (65%)
copy src/views-components/{links-dialog/remove-dialog.tsx => groups-dialog/remove-dialog.ts} (68%)
create mode 100644 src/views/group-details-panel/group-details-panel.tsx
create mode 100644 src/views/groups-panel/groups-panel.tsx
via 229eaf53b39af3a7e9408ed5f7e49d74b318445a (commit)
via 0d0b7399b2e4906e26dbb5035bed033cec0646e9 (commit)
via d4b18e45f319eb0885442ab1b64a01683630e38b (commit)
via 7828a0aa1d5bf4e077a2151380494ebd4e1f1e81 (commit)
via 80dbbf9199dd7019b22eaadf18112abf1eee1cd7 (commit)
via 33d05327f82870a6cff480b8d01e89ae75b70786 (commit)
via e78eb2de67e896b53f02c656d6ef49e13ff65b62 (commit)
via ee63ba213e2e56a57e0cd49f6c7ce9bde5014f53 (commit)
via 47b1e9b2fa97d03438d4ef35f90a5fd0a33bbe34 (commit)
via d4b62bc7f7c6e0caf13cf9de78bd2bb9c306e497 (commit)
via 8634bd88e7bbb8f8d62bbc4016f062fbe30234c8 (commit)
via 59329caeae17903b97b90b167df5a8122a0c9d95 (commit)
via 4a8dc9ca8b3c18cf0c21a2537ecef40da5522b67 (commit)
via 879059e4c20ed40c59a992bce7b1b18bba61d672 (commit)
via 20aeb9bd5ac0416709beab209b2e33cff88ab753 (commit)
via 295d62fd5e44819cb55737a86c42db633e097cd8 (commit)
via e94e528642f80d57bb6ae5bb717880b2b9adeaca (commit)
via 7f2af309d0184d3515a1f910bbcb6435f5cd58fb (commit)
via a4927ea74470ad483921813d93597b451e3d8e3e (commit)
via 163d52ede5411167eb4d5786f40b382d992c5126 (commit)
via fc43f027e70d0702c88aa61c92dfeed7ac8b793b (commit)
via d7a29f892371764b1bff2e6ec64f8011c001b725 (commit)
via 7cf7cf1a0b0066d044e4648a1311ad7241317128 (commit)
via 78e1b6a903071209acc47ba9272ce87a6561e67e (commit)
via b1b507febf56cb0622d3599ec68f276d9e0ce3d5 (commit)
via 7d5095d5324b5d5ee91254f1cfa83f0ef88806cc (commit)
via 0a901d62940804d2854b2b39d2ea0199fd795ad3 (commit)
via 18a947dc933f658375a0d03a8822cd85ecfdfce2 (commit)
via b384e7ae6054e5041e12ab65301de3200526854a (commit)
via 5447edd33bf09dacd51fcaf721576ab2e8f61d66 (commit)
via d83c6fd363307c0255b4f3225f57214f5a608199 (commit)
via 3c5e47e956b63a7caf08a9f25d2c6237e6370b65 (commit)
via 4223548258ddb3dd7bfb9c520c7c8eb3b5e80f84 (commit)
via 840b8a123e8161b807e14f5bc8520ffaebf56dd4 (commit)
via 52a9925b1ab918d66f1508c948e0db8e99568ccf (commit)
via 31ee65844dcecdae8d2e95535853a9b04a7c4d1c (commit)
via 13756f84c880e5a6f83a4f416303beb8cd7bc659 (commit)
via 8b6f5c68fa40ad59092e1290dfd4261f0dfe643f (commit)
via 4afdbe4d6f060423725d77fa7500d76d8e7e5f04 (commit)
via fc1f170015c5ffd5f4ee5b990d530f3c9782f549 (commit)
via e15800c9e0cb809dc212b4133a011cc3f50a7eec (commit)
via a5ce24473767588054b48c5355a317989b4b68fa (commit)
via 0190f22c054d5257f67af66a9a1f1fa84e062fcc (commit)
via 963621403512fddf0d84b595b41164ba0b552700 (commit)
via b2687ded960c6fb9e006bbceb5f93aa685aa70d5 (commit)
via ff2d7aa039e4d7a4ab6e77b778f161d6ab45dd2e (commit)
via 88f16d1a87decacf3dc395126912684ed90dc16f (commit)
via 3e05c931b42b1b690f43e179aaa9b45c84475ba0 (commit)
via 74d27e4a497bd9bf66d31e1f4578f63d71fb4d87 (commit)
via 12531884583ab85a114eed12f5179ed0b5fb8a88 (commit)
via 9c2991d118f83341e64bc413b48a235fa80f38e2 (commit)
via 6c024ce6843e5ad5391fc384792480b751e0c663 (commit)
from b1a6da4a288560a87e0e38ad2fd73fb227e3fc66 (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 229eaf53b39af3a7e9408ed5f7e49d74b318445a
Merge: b1a6da4a 0d0b7399
Author: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
Date: Tue Dec 18 10:08:51 2018 +0100
merge master
Feature #14565
Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
diff --cc src/store/users/users-actions.ts
index 1a1c58ee,585a3663..9e76396d
--- a/src/store/users/users-actions.ts
+++ b/src/store/users/users-actions.ts
@@@ -32,20 -31,6 +32,21 @@@ export const openUserAttributes = (uuid
dispatch(dialogActions.OPEN_DIALOG({ id: USER_ATTRIBUTES_DIALOG, data }));
};
+export const openUserManage = (uuid: string) =>
+ (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ const { resources } = getState();
+ const data = getResource<UserResource>(uuid)(resources);
+ dispatch(dialogActions.OPEN_DIALOG({ id: USER_MANAGE_DIALOG, data }));
+ };
+
+export const openSetupShellAccount = (uuid: string) =>
- (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
++ async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ const { resources } = getState();
- const data = getResource<UserResource>(uuid)(resources);
- dispatch(dialogActions.OPEN_DIALOG({ id: SETUP_SHELL_ACCOUNT_DIALOG, data }));
++ const user = getResource<UserResource>(uuid)(resources);
++ const virtualMachines = await services.virtualMachineService.list();
++ dispatch(dialogActions.OPEN_DIALOG({ id: SETUP_SHELL_ACCOUNT_DIALOG, data: { user, ...virtualMachines } }));
+ };
+
export const openUserCreateDialog = () =>
async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
const userUuid = await services.authService.getUuid();
diff --cc src/views-components/dialog-forms/setup-shell-account-dialog.tsx
index 75f0bb6a,00000000..8b9a6b61
mode 100644,000000..100644
--- a/src/views-components/dialog-forms/setup-shell-account-dialog.tsx
+++ b/src/views-components/dialog-forms/setup-shell-account-dialog.tsx
@@@ -1,63 -1,0 +1,79 @@@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+import * as React from 'react';
+import { compose } from "redux";
+import { reduxForm, InjectedFormProps, Field } from 'redux-form';
+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 { InputLabel } from '@material-ui/core';
+import { NativeSelectField } from '~/components/select-field/select-field';
+import { SETUP_SHELL_ACCOUNT_DIALOG, createUser } from '~/store/users/users-actions';
+
+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));
+ }
+ })
+)(
+ (props: SetupShellAccountDialogComponentProps) =>
+ <FormDialog
+ dialogTitle='Setup shell account'
+ formFields={SetupShellAccountFormFields}
+ submitLabel='Submit'
+ {...props}
+ />
+);
+
+const UserEmailField = ({ data }: any) =>
+ <Field
+ name='email'
+ component={TextField}
+ disabled
- label={data.email} />;
++ label={data.user.email} />;
++
++const UserVirtualMachineField = ({ data }: any) =>
++ <div style={{ marginBottom: '21px' }}>
++ <InputLabel>Virtual Machine</InputLabel>
++ <Field
++ name='virtualMachine'
++ component={NativeSelectField}
++ validate={USER_LENGTH_VALIDATION}
++ items={getVirtualMachinesList(data.items)} />
++ </div>;
+
+const UserGroupsVirtualMachineField = () =>
+ <Field
+ name='groups'
+ component={TextField}
+ validate={USER_LENGTH_VALIDATION}
+ label="Groups for virtual machine (comma separated list)" />;
+
++const getVirtualMachinesList = (virtualMachines: VirtualMachinesResource[]) => {
++ const mappedVirtualMachines = virtualMachines.map(it => ({ key: it.hostname, value: it.hostname }));
++ return mappedVirtualMachines;
++};
++
+type SetupShellAccountDialogComponentProps = WithDialogProps<{}> & InjectedFormProps<SetupShellAccountFormDialogData>;
+
+const SetupShellAccountFormFields = (props: SetupShellAccountDialogComponentProps) =>
+ <>
+ <UserEmailField data={props.data}/>
++ <UserVirtualMachineField data={props.data} />
+ <UserGroupsVirtualMachineField />
+ </>;
+
+
+
diff --cc src/views/workbench/workbench.tsx
index cba89b3b,bff328e8..6c7c2438
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@@ -79,8 -79,14 +79,16 @@@ import { UserPanel } from '~/views/user
import { UserAttributesDialog } from '~/views-components/user-dialog/attributes-dialog';
import { CreateUserDialog } from '~/views-components/dialog-forms/create-user-dialog';
import { HelpApiClientAuthorizationDialog } from '~/views-components/api-client-authorizations-dialog/help-dialog';
+import { UserManageDialog } from '~/views-components/user-dialog/manage-dialog';
+import { SetupShellAccountDialog } from '~/views-components/dialog-forms/setup-shell-account-dialog';
+ import { GroupsPanel } from '~/views/groups-panel/groups-panel';
+ import { CreateGroupDialog } from '~/views-components/dialog-forms/create-group-dialog';
+ import { RemoveGroupDialog } from '~/views-components/groups-dialog/remove-dialog';
+ import { GroupAttributesDialog } from '~/views-components/groups-dialog/attributes-dialog';
+ import { GroupDetailsPanel } from '~/views/group-details-panel/group-details-panel';
+ import { RemoveGroupMemberDialog } from '~/views-components/groups-dialog/member-remove-dialog';
+ import { GroupMemberAttributesDialog } from '~/views-components/groups-dialog/member-attributes-dialog';
+ import { AddGroupMembersDialog } from '~/views-components/dialog-forms/add-group-member-dialog';
type CssRules = 'root' | 'container' | 'splitter' | 'asidePanel' | 'contentWrapper' | 'content';
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list