Core/Commands: Added '.ticket reset' for resetting ticket-id counter. Author: Bizzy
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
DELETE FROM `trinity_string` WHERE `entry` IN(2027,2028);
|
||||||
|
INSERT INTO `trinity_string` (`entry`, `content_default`) VALUES
|
||||||
|
('2027', 'There are pending open tickets, please close them first!'),
|
||||||
|
('2028', 'All closed tickets were deleted and counter is reseted to |cffff00ff 1|r');
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
DELETE FROM `command` WHERE `name` = 'ticket reset';
|
||||||
|
INSERT INTO `command` (`name`, `security`, `help`) VALUES
|
||||||
|
('ticket reset', 3, 'Syntax: .ticket reset\nRemoves all closed tickets and resets the counter, if no pending open tickets are existing.');
|
||||||
@@ -318,6 +318,7 @@ ChatCommand* ChatHandler::getCommandTable()
|
|||||||
{ "closedlist", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketListClosedCommand>, "", NULL },
|
{ "closedlist", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketListClosedCommand>, "", NULL },
|
||||||
{ "escalatedlist", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketListEscalatedCommand>, "", NULL },
|
{ "escalatedlist", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketListEscalatedCommand>, "", NULL },
|
||||||
{ "delete", SEC_ADMINISTRATOR, false, OldHandler<&ChatHandler::HandleGMTicketDeleteByIdCommand>, "", NULL },
|
{ "delete", SEC_ADMINISTRATOR, false, OldHandler<&ChatHandler::HandleGMTicketDeleteByIdCommand>, "", NULL },
|
||||||
|
{ "reset", SEC_ADMINISTRATOR, false, OldHandler<&ChatHandler::HandleGMTicketResetCommand>, "", NULL },
|
||||||
{ "assign", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketAssignToCommand>, "", NULL },
|
{ "assign", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketAssignToCommand>, "", NULL },
|
||||||
{ "unassign", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketUnAssignCommand>, "", NULL },
|
{ "unassign", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketUnAssignCommand>, "", NULL },
|
||||||
{ "comment", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketCommentCommand>, "", NULL },
|
{ "comment", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketCommentCommand>, "", NULL },
|
||||||
|
|||||||
@@ -317,6 +317,7 @@ class ChatHandler
|
|||||||
bool HandleGMTicketUnAssignCommand(const char* args);
|
bool HandleGMTicketUnAssignCommand(const char* args);
|
||||||
bool HandleGMTicketCommentCommand(const char* args);
|
bool HandleGMTicketCommentCommand(const char* args);
|
||||||
bool HandleGMTicketDeleteByIdCommand(const char* args);
|
bool HandleGMTicketDeleteByIdCommand(const char* args);
|
||||||
|
bool HandleGMTicketResetCommand(const char* /* args */);
|
||||||
bool HandleGMTicketReloadCommand(const char*);
|
bool HandleGMTicketReloadCommand(const char*);
|
||||||
bool HandleToggleGMTicketSystem(const char* args);
|
bool HandleToggleGMTicketSystem(const char* args);
|
||||||
bool HandleGMTicketEscalateCommand(const char* args);
|
bool HandleGMTicketEscalateCommand(const char* args);
|
||||||
|
|||||||
@@ -320,6 +320,22 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ChatHandler::HandleGMTicketResetCommand(const char* /* args */)
|
||||||
|
{
|
||||||
|
if (sTicketMgr->GetOpenTicketCount() > 0)
|
||||||
|
{
|
||||||
|
SendSysMessage(LANG_COMMAND_TICKETPENDING);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sTicketMgr->ResetTickets();
|
||||||
|
SendSysMessage(LANG_COMMAND_TICKETRESET);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool ChatHandler::HandleToggleGMTicketSystem(const char* /* args */)
|
bool ChatHandler::HandleToggleGMTicketSystem(const char* /* args */)
|
||||||
{
|
{
|
||||||
bool status = !sTicketMgr->GetStatus();
|
bool status = !sTicketMgr->GetStatus();
|
||||||
|
|||||||
@@ -911,6 +911,8 @@ enum TrinityStrings
|
|||||||
LANG_COMMAND_TICKETLISTADDCOMMENT = 2024,
|
LANG_COMMAND_TICKETLISTADDCOMMENT = 2024,
|
||||||
LANG_COMMAND_TICKETLISTAGECREATE = 2025,
|
LANG_COMMAND_TICKETLISTAGECREATE = 2025,
|
||||||
LANG_COMMAND_TICKETSHOWESCALATEDLIST = 2026,
|
LANG_COMMAND_TICKETSHOWESCALATEDLIST = 2026,
|
||||||
|
LANG_COMMAND_TICKETPENDING = 2027,
|
||||||
|
LANG_COMMAND_TICKETRESET = 2028,
|
||||||
|
|
||||||
// Trinity strings 5000-9999
|
// Trinity strings 5000-9999
|
||||||
LANG_COMMAND_FREEZE = 5000,
|
LANG_COMMAND_FREEZE = 5000,
|
||||||
|
|||||||
@@ -200,6 +200,16 @@ TicketMgr::TicketMgr() : _status(true), _lastTicketId(0), _lastSurveyId(0), _ope
|
|||||||
|
|
||||||
void TicketMgr::Initialize() { SetStatus(sWorld->getBoolConfig(CONFIG_ALLOW_TICKETS)); }
|
void TicketMgr::Initialize() { SetStatus(sWorld->getBoolConfig(CONFIG_ALLOW_TICKETS)); }
|
||||||
|
|
||||||
|
void TicketMgr::ResetTickets()
|
||||||
|
{
|
||||||
|
for (GmTicketList::const_iterator itr = _ticketList.begin(); itr != _ticketList.end(); ++itr)
|
||||||
|
if (itr->second->IsClosed())
|
||||||
|
sTicketMgr->RemoveTicket(itr->second->GetId());
|
||||||
|
|
||||||
|
_lastTicketId = 0;
|
||||||
|
CharacterDatabase.PExecute("TRUNCATE TABLE gm_tickets");
|
||||||
|
}
|
||||||
|
|
||||||
void TicketMgr::LoadTickets()
|
void TicketMgr::LoadTickets()
|
||||||
{
|
{
|
||||||
uint32 oldMSTime = getMSTime();
|
uint32 oldMSTime = getMSTime();
|
||||||
|
|||||||
@@ -213,6 +213,7 @@ public:
|
|||||||
uint32 GetNextSurveyID() { return ++_lastSurveyId; }
|
uint32 GetNextSurveyID() { return ++_lastSurveyId; }
|
||||||
|
|
||||||
void Initialize();
|
void Initialize();
|
||||||
|
void ResetTickets();
|
||||||
|
|
||||||
void ShowList(ChatHandler& handler, bool onlineOnly) const;
|
void ShowList(ChatHandler& handler, bool onlineOnly) const;
|
||||||
void ShowClosedList(ChatHandler& handler) const;
|
void ShowClosedList(ChatHandler& handler) const;
|
||||||
|
|||||||
Reference in New Issue
Block a user