diff --git a/app/controllers/users/invitations_controller.rb b/app/controllers/users/invitations_controller.rb
index c6d860364..d6ca37a7c 100644
--- a/app/controllers/users/invitations_controller.rb
+++ b/app/controllers/users/invitations_controller.rb
@@ -85,11 +85,6 @@ module Users
UserOrganization.where(user: user, organization: @org).first
result[:status] = :user_exists_and_in_org
- elsif result[:status] == :user_exists && !user.confirmed?
- # We don't want to allow inviting unconfirmed
- # users (that were not invited as part of this action)
- # into organizations
- result[:status] = :user_exists_unconfirmed
else
# Also generate user organization relation
user_org = UserOrganization.new(
@@ -106,7 +101,9 @@ module Users
user_org.organization
)
- if result[:status] == :user_exists
+ if result[:status] == :user_exists && !user.confirmed?
+ result[:status] = :user_exists_unconfirmed_invited_to_org
+ elsif result[:status] == :user_exists
result[:status] = :user_exists_invited_to_org
else
result[:status] = :user_created_invited_to_org
diff --git a/app/views/shared/_invite_users_modal_results.html.erb b/app/views/shared/_invite_users_modal_results.html.erb
index b37644336..608e0911d 100644
--- a/app/views/shared/_invite_users_modal_results.html.erb
+++ b/app/views/shared/_invite_users_modal_results.html.erb
@@ -10,18 +10,18 @@
-
<%= t('invite_users.results.user_exists') %>
-<% elsif result[:status] == :user_exists_unconfirmed %>
-
- <%= result[:email] %>
- -
- <%= t('invite_users.results.user_exists_unconfirmed', organization: @org.name) %>
-
<% elsif result[:status] == :user_exists_and_in_org %>
<%= result[:email] %>
-
<%= t('invite_users.results.user_exists_and_in_org', organization: @org.name, role: t("user_organizations.enums.role.#{result[:user_org].role}")) %>
+<% elsif result[:status] == :user_exists_unconfirmed_invited_to_org %>
+
+ <%= result[:email] %>
+ -
+ <%= t('invite_users.results.user_exists_unconfirmed_invited_to_org', organization: @org.name, role: t("user_organizations.enums.role.#{result[:user_org].role}")) %>
+
<% elsif result[:status] == :user_exists_invited_to_org %>
<%= result[:email] %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 2fe9aca16..12b511e2e 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1439,7 +1439,7 @@ en:
results:
heading: "Invitation results:"
user_exists: "User is already a member of sciNote."
- user_exists_unconfirmed: "User is already a member of sciNote but is not confirmed yet - cannot invite to team %{organization}."
+ user_exists_unconfirmed_invited_to_org: "User is already a member of sciNote but is not confirmed yet - successfully invited to team %{organization} as %{role}."
user_exists_and_in_org: "User is already a member of sciNote and team %{organization} as %{role}."
user_exists_invited_to_org: "User was already a member of sciNote - successfully invited to team %{organization} as %{role}."
user_created: "User succesfully invited to sciNote."