From 80f85167be63d27c7cb50c754cc5f4e67ef40b99 Mon Sep 17 00:00:00 2001 From: Bianca Nenciu Date: Thu, 28 Jan 2021 13:38:36 +0200 Subject: [PATCH] FIX: Allow a single invite per email address (#11855) --- app/controllers/invites_controller.rb | 3 +-- spec/requests/invites_controller_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/controllers/invites_controller.rb b/app/controllers/invites_controller.rb index fb4723c21fa..0b754ef1606 100644 --- a/app/controllers/invites_controller.rb +++ b/app/controllers/invites_controller.rb @@ -94,8 +94,7 @@ class InvitesController < ApplicationController guardian.ensure_can_invite_to_forum!(groups) group_ids = groups.map(&:id) - invite_exists = Invite.exists?(email: params[:email], invited_by_id: current_user.id) - if invite_exists && !guardian.can_send_multiple_invites?(current_user) + if Invite.exists?(email: params[:email]) return render json: failed_json, status: 422 end diff --git a/spec/requests/invites_controller_spec.rb b/spec/requests/invites_controller_spec.rb index 0648dc17dce..3edce1997de 100644 --- a/spec/requests/invites_controller_spec.rb +++ b/spec/requests/invites_controller_spec.rb @@ -145,11 +145,11 @@ describe InvitesController do expect(Invite.find_by(email: email).invited_groups.count).to eq(1) end - it "allows admin to send multiple invites to same email" do + it "does not allow admins to send multiple invites to same email" do user = sign_in(admin) invite = Invite.invite_by_email("invite@example.com", user) post "/invites.json", params: { email: invite.email } - expect(response.status).to eq(200) + expect(response.status).to eq(422) end it "responds with error message in case of validation failure" do