Skip to content

Commit a9ba052

Browse files
agnivademattermod
andauthored
MM-26206: Add GroupMentions permissions in default channel admin (mattermost#14838)
* MM-26206: Add GroupMentions permissions in default channel admin This permission was skipped from the default permissions function. Which led to a bug where permissions reset would not bring back this permission to the different roles. * Added tests Co-authored-by: Mattermod <[email protected]>
1 parent 05dc928 commit a9ba052

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

app/app_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
111111
},
112112
"channel_admin": {
113113
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
114+
model.PERMISSION_USE_GROUP_MENTIONS.Id,
114115
},
115116
"team_user": {
116117
model.PERMISSION_LIST_TEAM_CHANNELS.Id,
@@ -229,6 +230,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
229230
model.PERMISSION_MANAGE_OTHERS_SLASH_COMMANDS.Id,
230231
model.PERMISSION_MANAGE_INCOMING_WEBHOOKS.Id,
231232
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
233+
model.PERMISSION_USE_GROUP_MENTIONS.Id,
232234
model.PERMISSION_EDIT_POST.Id,
233235
},
234236
}
@@ -239,7 +241,6 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
239241
assert.Nil(t, err)
240242
assert.Equal(t, role.Permissions, permissions)
241243
}
242-
243244
// Add a license and change the policy config.
244245
restrictPublicChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement
245246
restrictPrivateChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement
@@ -300,6 +301,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
300301
},
301302
"channel_admin": {
302303
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
304+
model.PERMISSION_USE_GROUP_MENTIONS.Id,
303305
},
304306
"team_user": {
305307
model.PERMISSION_LIST_TEAM_CHANNELS.Id,
@@ -420,6 +422,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
420422
model.PERMISSION_MANAGE_OTHERS_SLASH_COMMANDS.Id,
421423
model.PERMISSION_MANAGE_INCOMING_WEBHOOKS.Id,
422424
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
425+
model.PERMISSION_USE_GROUP_MENTIONS.Id,
423426
model.PERMISSION_EDIT_POST.Id,
424427
},
425428
}

app/permissions_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ func TestImportPermissions_schemeDeletedOnRoleFailure(t *testing.T) {
255255

256256
}
257257

258-
func TestEmojiMigration(t *testing.T) {
258+
func TestMigration(t *testing.T) {
259259
th := Setup(t)
260260
defer th.TearDown()
261261

@@ -264,6 +264,7 @@ func TestEmojiMigration(t *testing.T) {
264264
assert.Contains(t, role.Permissions, model.PERMISSION_CREATE_EMOJIS.Id)
265265
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_EMOJIS.Id)
266266
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_OTHERS_EMOJIS.Id)
267+
assert.Contains(t, role.Permissions, model.PERMISSION_USE_GROUP_MENTIONS.Id)
267268

268269
th.App.ResetPermissionsSystem()
269270

@@ -272,6 +273,7 @@ func TestEmojiMigration(t *testing.T) {
272273
assert.Contains(t, role.Permissions, model.PERMISSION_CREATE_EMOJIS.Id)
273274
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_EMOJIS.Id)
274275
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_OTHERS_EMOJIS.Id)
276+
assert.Contains(t, role.Permissions, model.PERMISSION_USE_GROUP_MENTIONS.Id)
275277
}
276278

277279
func withMigrationMarkedComplete(th *TestHelper, f func()) {

model/role.go

+1
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ func MakeDefaultRoles() map[string]*Role {
422422
Description: "authentication.roles.channel_admin.description",
423423
Permissions: []string{
424424
PERMISSION_MANAGE_CHANNEL_ROLES.Id,
425+
PERMISSION_USE_GROUP_MENTIONS.Id,
425426
},
426427
SchemeManaged: true,
427428
BuiltIn: true,

0 commit comments

Comments
 (0)