mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: moderators can add/remove group owners (#10960)
If `SiteSetting.moderators_manage_categories_and_groups` is enabled, a moderator shoud be able to add/remove group owners.
This commit is contained in:
@@ -23,7 +23,7 @@ export default DropdownSelectBoxComponent.extend({
|
||||
},
|
||||
];
|
||||
|
||||
if (this.get("currentUser.admin")) {
|
||||
if (this.canAdminGroup) {
|
||||
if (this.member.owner) {
|
||||
items.push({
|
||||
id: "removeOwner",
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
{{#if canManageGroup}}
|
||||
{{group-member-dropdown
|
||||
member=m
|
||||
canAdminGroup=model.can_admin_group
|
||||
onChange=(action "actOnGroup" m)
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
{{#if canManageGroup}}
|
||||
{{group-member-dropdown
|
||||
member=user
|
||||
canAdminGroup=model.can_admin_group
|
||||
onChange=(action "actOnGroup" user)
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
id="group-add-members-user-selector"}}
|
||||
</div>
|
||||
|
||||
{{#if currentUser.admin}}
|
||||
{{#if model.can_admin_group}}
|
||||
<div class="control-group group-add-members-make-owner">
|
||||
<label>
|
||||
{{input type="checkbox"
|
||||
|
||||
@@ -256,3 +256,33 @@ test("Admin Viewing Group", async (assert) => {
|
||||
"it should display the group name"
|
||||
);
|
||||
});
|
||||
|
||||
test("Moderator Viewing Group", async (assert) => {
|
||||
await visit("/g/alternative-group");
|
||||
|
||||
assert.ok(
|
||||
find(".nav-pills li a[title='Manage']").length === 1,
|
||||
"it should show manage group tab if user can_admin_group"
|
||||
);
|
||||
|
||||
await click(".group-members-add.btn");
|
||||
|
||||
assert.ok(
|
||||
find(".group-add-members-modal .group-add-members-make-owner"),
|
||||
"it allows moderators to set group owners"
|
||||
);
|
||||
|
||||
await click(".group-add-members-modal .modal-close");
|
||||
|
||||
const memberDropdown = selectKit(".group-member-dropdown:first");
|
||||
await memberDropdown.expand();
|
||||
|
||||
assert.equal(
|
||||
memberDropdown.rowByIndex(0).name(),
|
||||
I18n.t("groups.members.remove_member")
|
||||
);
|
||||
assert.equal(
|
||||
memberDropdown.rowByIndex(1).name(),
|
||||
I18n.t("groups.members.make_owner")
|
||||
);
|
||||
});
|
||||
|
||||
@@ -1295,5 +1295,33 @@ export default {
|
||||
extras: {
|
||||
visible_group_names: ["alternative-group"]
|
||||
}
|
||||
},
|
||||
"/groups/alternative-group/members.json": {
|
||||
owners: [],
|
||||
members: [
|
||||
{
|
||||
id: 2770,
|
||||
username: "awesomerobot",
|
||||
uploaded_avatar_id: 33872,
|
||||
avatar_template:
|
||||
"/user_avatar/meta.discourse.org/awesomerobot/{size}/33872.png",
|
||||
name: "",
|
||||
last_seen_at: "2015-01-23T15:53:17.844Z"
|
||||
},
|
||||
{
|
||||
id: 32,
|
||||
username: "codinghorror",
|
||||
uploaded_avatar_id: 5297,
|
||||
avatar_template:
|
||||
"/user_avatar/meta.discourse.org/codinghorror/{size}/5297.png",
|
||||
name: "Jeff Atwood",
|
||||
last_seen_at: "2015-01-23T06:05:25.457Z"
|
||||
},
|
||||
],
|
||||
meta: {
|
||||
total: 2,
|
||||
limit: 50,
|
||||
offset: 0
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user