Core/RBAC: Move honor commands to RBAC (using individual permissions)

This commit is contained in:
Spp committed 2013-09-02 11:53:22 +02:00
1 parent 11233dbd73
commit 08ef6bd9f8
5 files changed
+48 -22

No files matched your search

+8 -14
View File
@@ -1,25 +1,19 @@
/* cs_guild.cpp */
/* cs_honor.cpp */
SET @id = 401;
-- Add new permissions
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+6;
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+3;
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
(@id+0, 'guild'),
(@id+1, 'guild create'),
(@id+2, 'guild delete'),
(@id+3, 'guild invite'),
(@id+4, 'guild uninvite'),
(@id+5, 'guild rank'),
(@id+6, 'guild rename');
(@id+0, 'honor'),
(@id+1, 'honor add'),
(@id+2, 'honor add kill'),
(@id+3, 'honor update');
-- Add permissions to "corresponding Commands Role"
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+6;
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+3;
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
(4, @id+0),
(4, @id+1),
(4, @id+2),
(4, @id+3),
(4, @id+4),
(4, @id+5),
(4, @id+6);
(4, @id+3);
@@ -0,0 +1,19 @@
/* cs_honor.cpp */
SET @id = 408;
-- Add new permissions
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+3;
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
(@id+0, 'honor'),
(@id+1, 'honor add'),
(@id+2, 'honor add kill'),
(@id+3, 'honor update');
-- Add permissions to "corresponding Commands Role"
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+3;
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
(2, @id+0),
(2, @id+1),
(2, @id+2),
(2, @id+3);
@@ -0,0 +1,9 @@
/* cs_honor.cpp */
SET @id = 408;
-- Update command table with new RBAC permissions
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'honor';
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'honor add';
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'honor add kill';
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'honor update';
+4
View File
@@ -284,6 +284,10 @@ enum RBACPermissions
RBAC_PERM_COMMAND_GUILD_UNINVITE = 405,
RBAC_PERM_COMMAND_GUILD_RANK = 406,
RBAC_PERM_COMMAND_GUILD_RENAME = 407,
RBAC_PERM_COMMAND_HONOR = 408,
RBAC_PERM_COMMAND_HONOR_ADD = 409,
RBAC_PERM_COMMAND_HONOR_ADD_KILL = 410,
RBAC_PERM_COMMAND_HONOR_UPDATE = 411,
// custom permissions 1000+
RBAC_PERM_MAX
+8 -8
View File
@@ -37,22 +37,22 @@ public:
{
static ChatCommand honorAddCommandTable[] =
{
{ "kill", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleHonorAddKillCommand, "", NULL },
{ "", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleHonorAddCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
{ "kill", RBAC_PERM_COMMAND_HONOR_ADD_KILL, false, &HandleHonorAddKillCommand, "", NULL },
{ "", RBAC_PERM_COMMAND_HONOR_ADD, false, &HandleHonorAddCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
static ChatCommand honorCommandTable[] =
{
{ "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", honorAddCommandTable },
{ "update", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleHonorUpdateCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
{ "add", RBAC_PERM_COMMAND_HONOR_ADD, false, NULL, "", honorAddCommandTable },
{ "update", RBAC_PERM_COMMAND_HONOR_UPDATE, false, &HandleHonorUpdateCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
static ChatCommand commandTable[] =
{
{ "honor", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", honorCommandTable },
{ NULL, 0, false, NULL, "", NULL }
{ "honor", RBAC_PERM_COMMAND_HONOR, false, NULL, "", honorCommandTable },
{ NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}