Core/RBAC: Move titles and wp commands to RBAC (using individual permissions)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/* cs_titles.cpp & cs_wp.cpp */
|
||||
|
||||
SET @id = 761;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+13;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'titles'),
|
||||
(@id+1, 'titles add'),
|
||||
(@id+2, 'titles current'),
|
||||
(@id+3, 'titles remove'),
|
||||
(@id+4, 'titles set'),
|
||||
(@id+5, 'titles set mask'),
|
||||
(@id+6, 'titles wp'),
|
||||
(@id+7, 'titles wp add'),
|
||||
(@id+8, 'titles wp event'),
|
||||
(@id+9, 'titles wp load'),
|
||||
(@id+10, 'titles wp modify'),
|
||||
(@id+11, 'titles wp unload'),
|
||||
(@id+12, 'titles wp reload'),
|
||||
(@id+13, 'titles wp show');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+13;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(3, @id+0),
|
||||
(3, @id+1),
|
||||
(3, @id+2),
|
||||
(3, @id+3),
|
||||
(3, @id+4),
|
||||
(3, @id+5),
|
||||
(3, @id+6),
|
||||
(3, @id+7),
|
||||
(3, @id+8),
|
||||
(3, @id+9),
|
||||
(3, @id+10),
|
||||
(3, @id+11),
|
||||
(4, @id+12),
|
||||
(3, @id+13);
|
||||
@@ -0,0 +1,25 @@
|
||||
/* cs_titles.cpp & cs_wp.cpp */
|
||||
|
||||
SET @id = 761;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'tele';
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'ticket';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'ticket assign';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'ticket close';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'ticket closedlist';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'ticket comment';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'ticket complete';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'ticket delete';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'ticket escalate';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'ticket escalatedlist';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'ticket list';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'ticket onlinelist';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'ticket reset';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'ticket response';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'ticket response append';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'ticket response appendln';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'ticket togglesystem';
|
||||
UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'ticket unassign';
|
||||
UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'ticket viewid';
|
||||
UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'ticket viewname';
|
||||
@@ -660,6 +660,20 @@ enum RBACPermissions
|
||||
RBAC_PERM_COMMAND_TICKET_UNASSIGN = 758,
|
||||
RBAC_PERM_COMMAND_TICKET_VIEWID = 759,
|
||||
RBAC_PERM_COMMAND_TICKET_VIEWNAME = 760,
|
||||
RBAC_PERM_COMMAND_TITLES = 761,
|
||||
RBAC_PERM_COMMAND_TITLES_ADD = 762,
|
||||
RBAC_PERM_COMMAND_TITLES_CURRENT = 763,
|
||||
RBAC_PERM_COMMAND_TITLES_REMOVE = 764,
|
||||
RBAC_PERM_COMMAND_TITLES_SET = 765,
|
||||
RBAC_PERM_COMMAND_TITLES_SET_MASK = 766,
|
||||
RBAC_PERM_COMMAND_WP = 767,
|
||||
RBAC_PERM_COMMAND_WP_ADD = 768,
|
||||
RBAC_PERM_COMMAND_WP_EVENT = 769,
|
||||
RBAC_PERM_COMMAND_WP_LOAD = 770,
|
||||
RBAC_PERM_COMMAND_WP_MODIFY = 771,
|
||||
RBAC_PERM_COMMAND_WP_UNLOAD = 772,
|
||||
RBAC_PERM_COMMAND_WP_RELOAD = 773,
|
||||
RBAC_PERM_COMMAND_WP_SHOW = 774,
|
||||
|
||||
// custom permissions 1000+
|
||||
RBAC_PERM_MAX
|
||||
|
||||
@@ -37,21 +37,21 @@ public:
|
||||
{
|
||||
static ChatCommand titlesSetCommandTable[] =
|
||||
{
|
||||
{ "mask", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesSetMaskCommand, "", NULL },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "mask", RBAC_PERM_COMMAND_TITLES_SET_MASK, false, &HandleTitlesSetMaskCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand titlesCommandTable[] =
|
||||
{
|
||||
{ "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesAddCommand, "", NULL },
|
||||
{ "current", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesCurrentCommand, "", NULL },
|
||||
{ "remove", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleTitlesRemoveCommand, "", NULL },
|
||||
{ "set", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", titlesSetCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "add", RBAC_PERM_COMMAND_TITLES_ADD, false, &HandleTitlesAddCommand, "", NULL },
|
||||
{ "current", RBAC_PERM_COMMAND_TITLES_CURRENT, false, &HandleTitlesCurrentCommand, "", NULL },
|
||||
{ "remove", RBAC_PERM_COMMAND_TITLES_REMOVE, false, &HandleTitlesRemoveCommand, "", NULL },
|
||||
{ "set", RBAC_PERM_COMMAND_TITLES_SET, false, NULL, "", titlesSetCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "titles", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", titlesCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "titles", RBAC_PERM_COMMAND_TITLES, false, NULL, "", titlesCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
@@ -38,19 +38,19 @@ public:
|
||||
{
|
||||
static ChatCommand wpCommandTable[] =
|
||||
{
|
||||
{ "add", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpAddCommand, "", NULL },
|
||||
{ "event", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpEventCommand, "", NULL },
|
||||
{ "load", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpLoadCommand, "", NULL },
|
||||
{ "modify", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpModifyCommand, "", NULL },
|
||||
{ "unload", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpUnLoadCommand, "", NULL },
|
||||
{ "reload", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleWpReloadCommand, "", NULL },
|
||||
{ "show", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleWpShowCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "add", RBAC_PERM_COMMAND_WP_ADD, false, &HandleWpAddCommand, "", NULL },
|
||||
{ "event", RBAC_PERM_COMMAND_WP_EVENT, false, &HandleWpEventCommand, "", NULL },
|
||||
{ "load", RBAC_PERM_COMMAND_WP_LOAD, false, &HandleWpLoadCommand, "", NULL },
|
||||
{ "modify", RBAC_PERM_COMMAND_WP_MODIFY, false, &HandleWpModifyCommand, "", NULL },
|
||||
{ "unload", RBAC_PERM_COMMAND_WP_UNLOAD, false, &HandleWpUnLoadCommand, "", NULL },
|
||||
{ "reload", RBAC_PERM_COMMAND_WP_RELOAD, false, &HandleWpReloadCommand, "", NULL },
|
||||
{ "show", RBAC_PERM_COMMAND_WP_SHOW, false, &HandleWpShowCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "wp", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", wpCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "wp", RBAC_PERM_COMMAND_WP, false, NULL, "", wpCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user