aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/auth/2013_09_02_13_auth_misc.sql23
-rw-r--r--sql/updates/world/2013_09_02_13_world_command.sql2
-rw-r--r--sql/updates/world/2013_09_02_14_world_command.sql11
-rw-r--r--src/server/game/Accounts/RBAC.h6
-rw-r--r--src/server/scripts/Commands/cs_list.cpp16
5 files changed, 49 insertions, 9 deletions
diff --git a/sql/updates/auth/2013_09_02_13_auth_misc.sql b/sql/updates/auth/2013_09_02_13_auth_misc.sql
new file mode 100644
index 00000000000..d370b3f959d
--- /dev/null
+++ b/sql/updates/auth/2013_09_02_13_auth_misc.sql
@@ -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);
diff --git a/sql/updates/world/2013_09_02_13_world_command.sql b/sql/updates/world/2013_09_02_13_world_command.sql
index 55fff43aafb..0d5c6fdc545 100644
--- a/sql/updates/world/2013_09_02_13_world_command.sql
+++ b/sql/updates/world/2013_09_02_13_world_command.sql
@@ -1,4 +1,4 @@
-/* cs_learn.cpp */
+/* cs_lfg.cpp */
SET @id = 430;
diff --git a/sql/updates/world/2013_09_02_14_world_command.sql b/sql/updates/world/2013_09_02_14_world_command.sql
new file mode 100644
index 00000000000..08b092c7f0a
--- /dev/null
+++ b/sql/updates/world/2013_09_02_14_world_command.sql
@@ -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');
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index 2ac74586514..da2da919659 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -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
diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp
index 228eb1afb80..83e4fc01769 100644
--- a/src/server/scripts/Commands/cs_list.cpp
+++ b/src/server/scripts/Commands/cs_list.cpp
@@ -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;
}