From c36fcb1fa4ba3ef8aa751f68c8269598118f5be4 Mon Sep 17 00:00:00 2001 From: zmagod Date: Wed, 25 Oct 2017 11:31:32 +0200 Subject: [PATCH] fixes user invitation button [fixes SCI-1726] --- .../users/invitations_controller.rb | 6 +++ .../components/InviteUsersButton.jsx | 42 +++++++++---------- .../src/components/InviteUsersModal/index.jsx | 3 +- .../client_api/invitations_service.rb | 3 +- config/locales/en.yml | 1 + 5 files changed, 32 insertions(+), 23 deletions(-) diff --git a/app/controllers/client_api/users/invitations_controller.rb b/app/controllers/client_api/users/invitations_controller.rb index 21636fa71..eef944984 100644 --- a/app/controllers/client_api/users/invitations_controller.rb +++ b/app/controllers/client_api/users/invitations_controller.rb @@ -11,6 +11,12 @@ module ClientApi emails: params[:emails]) invite_results = invite_service.invitation success_response(invite_results) + rescue => error + respond_to do |format| + format.json do + render json: { message: error }, status: :unprocessable_entity + end + end end private diff --git a/app/javascript/src/components/InviteUsersModal/components/InviteUsersButton.jsx b/app/javascript/src/components/InviteUsersModal/components/InviteUsersButton.jsx index 7764041a6..c66be4923 100644 --- a/app/javascript/src/components/InviteUsersModal/components/InviteUsersButton.jsx +++ b/app/javascript/src/components/InviteUsersModal/components/InviteUsersButton.jsx @@ -9,26 +9,26 @@ type Props = { status: boolean }; -const InviteUsersButton = ({ - handleClick, - status -} : Props) => ( - } - id="invite_users.submit_button" - disabled={status} - > - handleClick("guest")}> - - - handleClick("normal_user")}> - - - handleClick("admin")}> - - - -); +const InviteUsersButton = ({ handleClick, status }: Props) => { + console.log(status); + return ( + } + id="invite_users.submit_button" + disabled={status} + > + handleClick("guest")}> + + + handleClick("normal_user")}> + + + handleClick("admin")}> + + + + ); +}; export default InviteUsersButton; diff --git a/app/javascript/src/components/InviteUsersModal/index.jsx b/app/javascript/src/components/InviteUsersModal/index.jsx index 5ad716764..5e854c03d 100644 --- a/app/javascript/src/components/InviteUsersModal/index.jsx +++ b/app/javascript/src/components/InviteUsersModal/index.jsx @@ -77,7 +77,8 @@ class InviteUsersModal extends Component { .then(response => { (this: any).setState({ inviteResults: response, - showInviteUsersResults: true + showInviteUsersResults: true, + inviteUserButtonDisabled: true }); }) .catch(error => { diff --git a/app/services/client_api/invitations_service.rb b/app/services/client_api/invitations_service.rb index add12bd12..5e08b6623 100644 --- a/app/services/client_api/invitations_service.rb +++ b/app/services/client_api/invitations_service.rb @@ -11,7 +11,8 @@ module ClientApi unless @role && UserTeam.roles.keys.include?(@role) && @emails && @emails.present? - raise ClientApi::CustomInvitationsError + raise ClientApi::CustomInvitationsError, + I18n.t('client_api.invalid_arguments') end @emails = @emails.map(&:downcase) end diff --git a/config/locales/en.yml b/config/locales/en.yml index d1ac3eff6..07ccd8802 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1817,6 +1817,7 @@ en: by: 'by' client_api: + invalid_arguments: "Invalid arguments" generic_error_message: "Something went wrong! Please try again later." user_teams: leave_team_error: "An error occured."