From 3610a7f4a234a8e81c9014009f626df08e2783f9 Mon Sep 17 00:00:00 2001 From: Saumya Pandey Date: Wed, 20 Oct 2021 09:26:11 +0530 Subject: [PATCH] fix: Add default role option for new users (#2665) * Add defaultUserRole on server * Handle defaultUserRole on frontend * Handle tests * Handle user role in userCreator * Minor improvments * Fix prettier issue * Undefined when isNewTeam is false * Update app/scenes/Settings/Security.js Co-authored-by: Tom Moor * Update app/scenes/Settings/Security.js Co-authored-by: Tom Moor * Update app/scenes/Settings/Security.js Co-authored-by: Tom Moor * Remove duplicate validation * Update Team.js * fix: Move note out of restricted width wrapper * Move language setting to use 'note' prop * Remove admin option Co-authored-by: Tom Moor --- app/components/InputSelect.js | 6 ++ app/models/Team.js | 1 + app/scenes/Settings/Profile.js | 29 ++++---- app/scenes/Settings/Security.js | 39 ++++++++-- server/commands/accountProvisioner.js | 2 +- server/commands/userCreator.js | 10 ++- server/commands/userCreator.test.js | 74 +++++++++++++++++++ .../20211015170955-add-defaultUserRole.js | 15 ++++ server/models/Team.js | 11 +++ server/presenters/team.js | 1 + server/routes/api/team.js | 4 + server/routes/api/team.test.js | 17 +++++ shared/i18n/locales/en_US/translation.json | 3 + 13 files changed, 189 insertions(+), 23 deletions(-) create mode 100644 server/migrations/20211015170955-add-defaultUserRole.js diff --git a/app/components/InputSelect.js b/app/components/InputSelect.js index 5198c800..b59367c4 100644 --- a/app/components/InputSelect.js +++ b/app/components/InputSelect.js @@ -12,6 +12,7 @@ import { VisuallyHidden } from "reakit/VisuallyHidden"; import scrollIntoView from "smooth-scroll-into-view-if-needed"; import styled, { css } from "styled-components"; import Button, { Inner } from "components/Button"; +import HelpText from "components/HelpText"; import { Position, Background, Backdrop } from "./ContextMenu"; import { MenuAnchorCSS } from "./ContextMenu/MenuItem"; import { LabelText } from "./Input"; @@ -30,6 +31,7 @@ export type Props = { labelHidden?: boolean, icon?: React.Node, options: Option[], + note?: React.Node, onChange: (string) => Promise | void, }; @@ -49,6 +51,7 @@ const InputSelect = (props: Props) => { onChange, disabled, nude, + note, icon, } = props; @@ -124,6 +127,7 @@ const InputSelect = (props: Props) => { ) : ( wrappedLabel ))} +