Skip to content

Commit c2fe7ca

Browse files
author
James Cori
committed
Merge branch 'develop'
2 parents ab43862 + aec951b commit c2fe7ca

File tree

2 files changed

+51
-23
lines changed

2 files changed

+51
-23
lines changed

vanilla/applications/dashboard/models/class.rolemodel.php

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,21 +37,58 @@ class RoleModel extends Gdn_Model {
3737
const ROLE_TYPE_TOPCODER = 'topcoder';
3838
const ROLE_TOPCODER_ADMINISTRATOR = 'administrator';
3939
const ROLE_TOPCODER_CONNECT_ADMIN = 'Connect Admin';
40-
40+
const ALL_VANILLA_PERMISSIONS = [
41+
'Garden.Email.View' => 1,
42+
'Garden.Settings.Manage' => 1,
43+
'Garden.Settings.View' => 1,
44+
'Garden.SignIn.Allow' => 1,
45+
'Garden.Users.Add' => 1,
46+
'Garden.Users.Edit' => 1,
47+
'Garden.Users.Delete' => 1,
48+
'Garden.Users.Approve' => 1,
49+
'Garden.Activity.Delete' => 1,
50+
'Garden.Activity.View' => 1,
51+
'Garden.Profiles.View' => 1,
52+
'Garden.Profiles.Edit' => 1,
53+
'Garden.Curation.Manage' => 1,
54+
'Garden.Moderation.Manage' => 1,
55+
'Garden.PersonalInfo.View' => 1,
56+
'Garden.AdvancedNotifications.Allow' => 1,
57+
'Garden.Community.Manage' => 1,
58+
'Garden.Tokens.Add' => 1,
59+
// Groups
60+
'Groups.Group.Add' => 1,
61+
'Groups.Moderation.Manage' => 1,
62+
'Groups.EmailInvitations.Add' => 1,
63+
'Groups.Category.Manage' => 1,
64+
'Garden.Uploads.Add' => 1,
65+
'Vanilla.Tagging.Add' => 1,
66+
'Conversations.Moderation.Manage' => 1,
67+
'Conversations.Conversations.Add'=> 1,
68+
'Vanilla.Approval.Require' => 0,
69+
'Vanilla.Comments.Me' => 1,
70+
'Vanilla.Discussions.View' => 1,
71+
'Vanilla.Discussions.Add' => 1,
72+
'Vanilla.Discussions.Edit' => 1,
73+
'Vanilla.Discussions.Announce' => 1,
74+
'Vanilla.Discussions.Sink' => 1,
75+
'Vanilla.Discussions.Close' => 1,
76+
'Vanilla.Discussions.Delete' => 1,
77+
'Vanilla.Comments.Add' => 1,
78+
'Vanilla.Comments.Edit' => 1,
79+
'Vanilla.Comments.Delete' => 1,
80+
'Plugins.Attachments.Upload.Allow' => 1
81+
];
4182
const TOPCODER_ROLES = [
42-
'administrator' => [
43-
// all permissions
44-
],
83+
'administrator' => ALL_VANILLA_PERMISSIONS,
4584
'Connect Manager' => [],
4685
'Connect Account Manager' => [],
4786
'Connect Copilot' => [
4887
'Groups.Category.Manage' => 1,
4988
'Groups.Moderation.Manage' => 1,
5089
'Groups.EmailInvitations.Add' => 1
5190
],
52-
'Connect Admin' => [
53-
// all permissions
54-
],
91+
'Connect Admin' => ALL_VANILLA_PERMISSIONS,
5592
'Connect Copilot Manager' => [
5693
'Groups.Category.Manage' => 1,
5794
'Groups.Moderation.Manage' => 1,

vanilla/applications/dashboard/settings/class.hooks.php

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -930,7 +930,7 @@ private function configureDefaultCategoryPermission($PermissionModel, $allRoles)
930930
if ($roleName == RoleModel::ROLE_TOPCODER_CONNECT_ADMIN || $roleName == RoleModel::ROLE_TOPCODER_ADMINISTRATOR) {
931931
foreach ($permission as $key => $value) {
932932
if ($key != 'PermissionID' && $key != 'RoleID' && $key != 'JunctionTable' && $key != 'JunctionColumn'
933-
&& $key !== 'JunctionID') {
933+
&& $key != 'JunctionID' && $key != 'Vanilla.Approval.Require') {
934934
$permission[$key] = 1;
935935
}
936936
$PermissionModel->save($permission);
@@ -946,21 +946,12 @@ private function updateTopcoderRolePermissions($PermissionModel, $allRoles, $top
946946
foreach ($allPermissions as $permission) {
947947
$roleName = $role['Name'];
948948
if (array_key_exists($roleName, $topcoderRoles)) {
949-
if ($roleName == RoleModel::ROLE_TOPCODER_CONNECT_ADMIN || $roleName == RoleModel::ROLE_TOPCODER_ADMINISTRATOR) {
950-
foreach ($permission as $key => $value) {
951-
if ($key != 'PermissionID' && $key != 'RoleID' && $key != 'JunctionTable' && $key != 'JunctionColumn'
952-
&& $key !== 'JunctionID') {
953-
$permission[$key] = 1;
954-
}
955-
}
956-
} else {
957-
$globalRolePermissions = $topcoderRoles[$roleName];
958-
foreach ($permission as $key => $value) {
959-
if ($key != 'PermissionID' && $key != 'RoleID' && $key != 'JunctionTable' && $key != 'JunctionColumn'
960-
&& $key !== 'JunctionID') {
961-
$permission[$key] = array_key_exists($key, $globalRolePermissions) ? $globalRolePermissions[$key] : $value;
962-
}
963-
}
949+
$globalRolePermissions = $topcoderRoles[$roleName];
950+
foreach ($globalRolePermissions as $key => $value) {
951+
// if ($key != 'PermissionID' && $key != 'RoleID' && $key != 'JunctionTable' && $key != 'JunctionColumn'
952+
// && $key !== 'JunctionID') {
953+
$permission[$key] = $globalRolePermissions[$key];
954+
// }
964955
}
965956
$PermissionModel->save($permission);
966957
}

0 commit comments

Comments
 (0)