FIX: Disallow email invites if enable_local_logins is disabled (#10805)

allowEmails used to always be set to true and did not use
can_invite_via_email, which checks for enable_local_logins.

It was a problem because on sites with local logins
disabled users were allowed to enter email addresses, but
received a generic error "error inviting that user".
This commit is contained in:
Bianca Nenciu 2020-10-05 19:38:22 +03:00 committed by GitHub
parent 318efa8093
commit bdfb370f19
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 1 deletions

View File

@ -27,7 +27,7 @@
hasGroups=hasGroups
usernames=emailOrUsername
placeholderKey=placeholderKey
allowEmails=true
allowEmails=canInviteViaEmail
class="invite-user-input"
autocomplete="discourse"
value=emailOrUsername

View File

@ -0,0 +1,22 @@
import EmberObject, { set } from "@ember/object";
import componentTest from "helpers/component-test";
moduleForComponent("invite-panel", { integration: true });
componentTest("can_invite_via_email", {
template: "{{invite-panel panel=panel}}",
beforeEach() {
set(this.currentUser, "details", { can_invite_via_email: true });
const inviteModel = JSON.parse(JSON.stringify(this.currentUser));
this.set("panel", {
id: "invite",
model: { inviteModel: EmberObject.create(inviteModel) },
});
},
async test(assert) {
await fillIn(".invite-user-input", "eviltrout@example.com");
assert.ok(find(".send-invite:disabled").length === 0);
},
});