[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