mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-26 11:52:32 +01:00
Core/RBAC: Move ticket commands to RBAC (using individual permissions)
This commit is contained in:
@@ -14,7 +14,8 @@ INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(2, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+3),
|
||||
(4, @id+4);
|
||||
(4, @id+2),
|
||||
(2, @id+3),
|
||||
(2, @id+4);
|
||||
|
||||
49
sql/updates/auth/2013_09_10_12_auth_misc.sql
Normal file
49
sql/updates/auth/2013_09_10_12_auth_misc.sql
Normal file
@@ -0,0 +1,49 @@
|
||||
/* cs_ticket.cpp */
|
||||
|
||||
SET @id = 742;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+18;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'ticket'),
|
||||
(@id+1, 'ticket assign'),
|
||||
(@id+2, 'ticket close'),
|
||||
(@id+3, 'ticket closedlist'),
|
||||
(@id+4, 'ticket comment'),
|
||||
(@id+5, 'ticket complete'),
|
||||
(@id+6, 'ticket delete'),
|
||||
(@id+7, 'ticket escalate'),
|
||||
(@id+8, 'ticket escalatedlist'),
|
||||
(@id+9, 'ticket list'),
|
||||
(@id+10, 'ticket onlinelist'),
|
||||
(@id+11, 'ticket reset'),
|
||||
(@id+12, 'ticket response'),
|
||||
(@id+13, 'ticket response append'),
|
||||
(@id+14, 'ticket response appendln'),
|
||||
(@id+15, 'ticket togglesystem'),
|
||||
(@id+16, 'ticket unassign'),
|
||||
(@id+17, 'ticket viewid'),
|
||||
(@id+18, 'ticket viewname');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+18;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(2, @id+0),
|
||||
(3, @id+1),
|
||||
(2, @id+2),
|
||||
(2, @id+3),
|
||||
(2, @id+4),
|
||||
(2, @id+5),
|
||||
(4, @id+6),
|
||||
(2, @id+7),
|
||||
(3, @id+8),
|
||||
(2, @id+9),
|
||||
(2, @id+10),
|
||||
(4, @id+11),
|
||||
(2, @id+12),
|
||||
(2, @id+13),
|
||||
(2, @id+14),
|
||||
(4, @id+15),
|
||||
(3, @id+16),
|
||||
(2, @id+17),
|
||||
(2, @id+18);
|
||||
25
sql/updates/world/2013_09_10_14_world_command.sql
Normal file
25
sql/updates/world/2013_09_10_14_world_command.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
/* cs_ticket.cpp */
|
||||
|
||||
SET @id = 742;
|
||||
|
||||
-- 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';
|
||||
@@ -641,6 +641,25 @@ enum RBACPermissions
|
||||
RBAC_PERM_COMMAND_TELE_DEL = 739,
|
||||
RBAC_PERM_COMMAND_TELE_NAME = 740,
|
||||
RBAC_PERM_COMMAND_TELE_GROUP = 741,
|
||||
RBAC_PERM_COMMAND_TICKET = 742,
|
||||
RBAC_PERM_COMMAND_TICKET_ASSIGN = 743,
|
||||
RBAC_PERM_COMMAND_TICKET_CLOSE = 744,
|
||||
RBAC_PERM_COMMAND_TICKET_CLOSEDLIST = 745,
|
||||
RBAC_PERM_COMMAND_TICKET_COMMENT = 746,
|
||||
RBAC_PERM_COMMAND_TICKET_COMPLETE = 747,
|
||||
RBAC_PERM_COMMAND_TICKET_DELETE = 748,
|
||||
RBAC_PERM_COMMAND_TICKET_ESCALATE = 749,
|
||||
RBAC_PERM_COMMAND_TICKET_ESCALATEDLIST = 750,
|
||||
RBAC_PERM_COMMAND_TICKET_LIST = 751,
|
||||
RBAC_PERM_COMMAND_TICKET_ONLINELIST = 752,
|
||||
RBAC_PERM_COMMAND_TICKET_RESET = 753,
|
||||
RBAC_PERM_COMMAND_TICKET_RESPONSE = 754,
|
||||
RBAC_PERM_COMMAND_TICKET_RESPONSE_APPEND = 755,
|
||||
RBAC_PERM_COMMAND_TICKET_RESPONSE_APPENDLN = 756,
|
||||
RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM = 757,
|
||||
RBAC_PERM_COMMAND_TICKET_UNASSIGN = 758,
|
||||
RBAC_PERM_COMMAND_TICKET_VIEWID = 759,
|
||||
RBAC_PERM_COMMAND_TICKET_VIEWNAME = 760,
|
||||
|
||||
// custom permissions 1000+
|
||||
RBAC_PERM_MAX
|
||||
|
||||
@@ -40,34 +40,34 @@ public:
|
||||
{
|
||||
static ChatCommand ticketResponseCommandTable[] =
|
||||
{
|
||||
{ "append", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketResponseAppendCommand, "", NULL },
|
||||
{ "appendln", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketResponseAppendLnCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "append", RBAC_PERM_COMMAND_TICKET_RESPONSE_APPEND, true, &HandleGMTicketResponseAppendCommand, "", NULL },
|
||||
{ "appendln", RBAC_PERM_COMMAND_TICKET_RESPONSE_APPENDLN, true, &HandleGMTicketResponseAppendLnCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand ticketCommandTable[] =
|
||||
{
|
||||
{ "assign", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketAssignToCommand, "", NULL },
|
||||
{ "close", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCloseByIdCommand, "", NULL },
|
||||
{ "closedlist", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListClosedCommand, "", NULL },
|
||||
{ "comment", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCommentCommand, "", NULL },
|
||||
{ "complete", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketCompleteCommand, "", NULL },
|
||||
{ "delete", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleGMTicketDeleteByIdCommand, "", NULL },
|
||||
{ "escalate", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketEscalateCommand, "", NULL },
|
||||
{ "escalatedlist", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketListEscalatedCommand, "", NULL },
|
||||
{ "list", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListCommand, "", NULL },
|
||||
{ "onlinelist", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketListOnlineCommand, "", NULL },
|
||||
{ "reset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleGMTicketResetCommand, "", NULL },
|
||||
{ "response", RBAC_PERM_MODERATOR_COMMANDS, true, NULL, "", ticketResponseCommandTable },
|
||||
{ "togglesystem", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleToggleGMTicketSystem, "", NULL },
|
||||
{ "unassign", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleGMTicketUnAssignCommand, "", NULL },
|
||||
{ "viewid", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketGetByIdCommand, "", NULL },
|
||||
{ "viewname", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleGMTicketGetByNameCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "assign", RBAC_PERM_COMMAND_TICKET_ASSIGN, true, &HandleGMTicketAssignToCommand, "", NULL },
|
||||
{ "close", RBAC_PERM_COMMAND_TICKET_CLOSE, true, &HandleGMTicketCloseByIdCommand, "", NULL },
|
||||
{ "closedlist", RBAC_PERM_COMMAND_TICKET_CLOSEDLIST, true, &HandleGMTicketListClosedCommand, "", NULL },
|
||||
{ "comment", RBAC_PERM_COMMAND_TICKET_COMMENT, true, &HandleGMTicketCommentCommand, "", NULL },
|
||||
{ "complete", RBAC_PERM_COMMAND_TICKET_COMPLETE, true, &HandleGMTicketCompleteCommand, "", NULL },
|
||||
{ "delete", RBAC_PERM_COMMAND_TICKET_DELETE, true, &HandleGMTicketDeleteByIdCommand, "", NULL },
|
||||
{ "escalate", RBAC_PERM_COMMAND_TICKET_ESCALATE, true, &HandleGMTicketEscalateCommand, "", NULL },
|
||||
{ "escalatedlist", RBAC_PERM_COMMAND_TICKET_ESCALATEDLIST, true, &HandleGMTicketListEscalatedCommand, "", NULL },
|
||||
{ "list", RBAC_PERM_COMMAND_TICKET_LIST, true, &HandleGMTicketListCommand, "", NULL },
|
||||
{ "onlinelist", RBAC_PERM_COMMAND_TICKET_ONLINELIST, true, &HandleGMTicketListOnlineCommand, "", NULL },
|
||||
{ "reset", RBAC_PERM_COMMAND_TICKET_RESET, true, &HandleGMTicketResetCommand, "", NULL },
|
||||
{ "response", RBAC_PERM_COMMAND_TICKET_RESPONSE, true, NULL, "", ticketResponseCommandTable },
|
||||
{ "togglesystem", RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM, true, &HandleToggleGMTicketSystem, "", NULL },
|
||||
{ "unassign", RBAC_PERM_COMMAND_TICKET_UNASSIGN, true, &HandleGMTicketUnAssignCommand, "", NULL },
|
||||
{ "viewid", RBAC_PERM_COMMAND_TICKET_VIEWID, true, &HandleGMTicketGetByIdCommand, "", NULL },
|
||||
{ "viewname", RBAC_PERM_COMMAND_TICKET_VIEWNAME, true, &HandleGMTicketGetByNameCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "ticket", RBAC_PERM_MODERATOR_COMMANDS, false, NULL, "", ticketCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "ticket", RBAC_PERM_COMMAND_TICKET, false, NULL, "", ticketCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user