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

This commit is contained in:
Spp committed 2013-09-02 12:25:32 +02:00
1 parent 4219f45c85
commit eb73684952
5 files changed
+49 -9

No files matched your search

@@ -0,0 +1,23 @@
/* cs_list.cpp */
SET @id = 436;
-- Add new permissions
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+5;
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
(@id+0, 'list'),
(@id+1, 'list creature'),
(@id+2, 'list item'),
(@id+3, 'list object'),
(@id+4, 'list auras'),
(@id+5, 'list mail');
-- Add permissions to "corresponding Commands Role"
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+5;
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);
@@ -1,4 +1,4 @@
/* cs_learn.cpp */
/* cs_lfg.cpp */
SET @id = 430;
@@ -0,0 +1,11 @@
/* cs_list.cpp */
SET @id = 436;
-- Update command table with new RBAC permissions
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'list';
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'list creature';
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'list item';
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'list object';
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'list auras';
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'list mail');
+6
View File
@@ -312,6 +312,12 @@ enum RBACPermissions
RBAC_PERM_COMMAND_LFG_QUEUE = 433,
RBAC_PERM_COMMAND_LFG_CLEAN = 434,
RBAC_PERM_COMMAND_LFG_OPTIONS = 435,
RBAC_PERM_COMMAND_LIST = 436,
RBAC_PERM_COMMAND_LIST_CREATURE = 437,
RBAC_PERM_COMMAND_LIST_ITEM = 438,
RBAC_PERM_COMMAND_LIST_OBJECT = 439,
RBAC_PERM_COMMAND_LIST_AURAS = 440,
RBAC_PERM_COMMAND_LIST_MAIL = 441,
// custom permissions 1000+
RBAC_PERM_MAX
+8 -8
View File
@@ -40,17 +40,17 @@ public:
{
static ChatCommand listCommandTable[] =
{
{ "creature", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListCreatureCommand, "", NULL },
{ "item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListItemCommand, "", NULL },
{ "object", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListObjectCommand, "", NULL },
{ "auras", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleListAurasCommand, "", NULL },
{ "mail", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleListMailCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
{ "creature", RBAC_PERM_COMMAND_LIST_CREATURE, true, &HandleListCreatureCommand, "", NULL },
{ "item", RBAC_PERM_COMMAND_LIST_ITEM, true, &HandleListItemCommand, "", NULL },
{ "object", RBAC_PERM_COMMAND_LIST_OBJECT, true, &HandleListObjectCommand, "", NULL },
{ "auras", RBAC_PERM_COMMAND_LIST_AURAS, false, &HandleListAurasCommand, "", NULL },
{ "mail", RBAC_PERM_COMMAND_LIST_MAIL, true, &HandleListMailCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
static ChatCommand commandTable[] =
{
{ "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", listCommandTable },
{ NULL, 0, false, NULL, "", NULL }
{ "list", RBAC_PERM_COMMAND_LIST,true, NULL, "", listCommandTable },
{ NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}