38#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
39#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
99 bool status = !
sSupportMgr->GetSupportSystemStatus();
105 std::vector<ChatCommand>
GetCommands()
const override;
114 char* ticketIdStr = strtok((
char*)args,
" ");
115 uint32 ticketId = atoi(ticketIdStr);
117 char* targetStr = strtok(
nullptr,
" ");
121 std::string target(targetStr);
126 if (!ticket || ticket->IsClosed())
142 if (ticket->IsAssignedTo(targetGuid))
151 if (player && ticket->IsAssignedNotTo(player->
GetGUID()))
158 ticket->SetAssignedTo(targetGuid);
162 std::string msg = ticket->FormatViewMessageString(*handler,
nullptr, target.c_str(),
nullptr,
nullptr);
173 uint32 ticketId = atoi(args);
175 if (!ticket || ticket->IsClosed())
184 if (player && ticket->IsAssignedNotTo(player->
GetGUID()))
192 closedByGuid = player->
GetGUID();
196 sSupportMgr->CloseTicket<T>(ticket->GetId(), closedByGuid);
198 std::string msg = ticket->FormatViewMessageString(*handler, player ? player->
GetName().c_str() :
"Console",
nullptr,
nullptr,
nullptr);
210 char* ticketIdStr = strtok((
char*)args,
" ");
211 uint32 ticketId = atoi(ticketIdStr);
213 char* comment = strtok(
nullptr,
"\n");
218 if (!ticket || ticket->IsClosed())
227 if (player && ticket->IsAssignedNotTo(player->
GetGUID()))
233 ticket->SetComment(comment);
237 std::string msg = ticket->FormatViewMessageString(*handler,
nullptr, ticket->GetAssignedToName().c_str(),
nullptr,
nullptr);
264 uint32 ticketId = atoi(args);
272 if (!ticket->IsClosed())
278 std::string msg = ticket->FormatViewMessageString(*handler,
nullptr,
nullptr,
nullptr, handler->
GetSession() ? handler->
GetSession()->
GetPlayer()->
GetName().c_str() :
"Console");
308 uint32 ticketId = atoi(args);
310 if (!ticket || ticket->IsClosed())
316 if (!ticket->IsAssigned())
324 Player* assignedPlayer = ticket->GetAssignedPlayer();
329 ObjectGuid guid = ticket->GetAssignedToGUID();
337 if (security > mySecurity)
343 std::string assignedTo = ticket->GetAssignedToName();
344 ticket->SetUnassigned();
347 std::string msg = ticket->FormatViewMessageString(*handler,
nullptr, assignedTo.c_str(), handler->
GetSession() ? handler->
GetSession()->
GetPlayer()->
GetName().c_str() :
"Console",
nullptr);
359 uint32 ticketId = atoi(args);
361 if (!ticket || ticket->IsClosed())
367 handler->
SendSysMessage(ticket->FormatViewMessageString(*handler,
true).c_str());
373 static std::vector<ChatCommand> ticketBugCommandTable =
384 static std::vector<ChatCommand> ticketComplaintCommandTable =
395 static std::vector<ChatCommand> ticketSuggestionCommandTable =
406 static std::vector<ChatCommand> ticketResetCommandTable =
413 static std::vector<ChatCommand> ticketCommandTable =
421 static std::vector<ChatCommand> commandTable =
@ LANG_COMMAND_TICKETRESET
@ LANG_COMMAND_TICKETALREADYASSIGNED
@ LANG_COMMAND_TICKETUNASSIGNSECURITY
@ LANG_DISALLOW_TICKETS_CONFIG
@ LANG_COMMAND_TICKETCANNOTCLOSE
@ LANG_COMMAND_TICKETCLOSEFIRST
@ LANG_COMMAND_TICKETNOTASSIGNED
@ LANG_COMMAND_TICKETASSIGNERROR_B
@ LANG_COMMAND_TICKETPENDING
@ LANG_COMMAND_TICKETLISTADDCOMMENT
@ LANG_COMMAND_TICKETASSIGNERROR_A
@ LANG_COMMAND_TICKETNOTEXIST
bool normalizePlayerName(std::string &name)
static uint32 GetSecurity(uint32 accountId, int32 realmId)
static bool HasPermission(uint32 accountId, uint32 permission, uint32 realmId)
void SendGlobalGMSysMessage(const char *str)
WorldSession * GetSession()
std::string PGetParseString(uint32 entry, Args &&... args) const
void PSendSysMessage(const char *fmt, Args &&... args)
virtual void SendSysMessage(std::string_view str, bool escapeCharacters=false)
void SetRawValue(std::vector< uint8 > const &guid)
static ObjectGuid GetGUID(Object const *o)
WorldSession * GetSession() const
std::string const & GetName() const
AccountTypes GetSecurity() const
Player * GetPlayer() const
static bool HandleTicketResetAllCommand(ChatHandler *handler, char const *)
static bool HandleTicketResetCommand(ChatHandler *handler, char const *)
static bool HandleTicketAssignToCommand(ChatHandler *handler, char const *args)
static bool HandleTicketDeleteByIdCommand(ChatHandler *handler, char const *args)
static bool HandleTicketGetByIdCommand(ChatHandler *handler, char const *args)
static bool HandleTicketListClosedCommand(ChatHandler *handler, char const *)
std::vector< ChatCommand > GetCommands() const override
static bool HandleTicketListCommand(ChatHandler *handler, char const *)
static bool HandleTicketCommentCommand(ChatHandler *handler, char const *args)
static bool HandleTicketCloseByIdCommand(ChatHandler *handler, char const *args)
static bool HandleToggleGMTicketSystem(ChatHandler *handler, char const *)
static bool HandleTicketUnAssignCommand(ChatHandler *handler, char const *args)
void AddSC_ticket_commandscript()
@ CONFIG_SUPPORT_TICKETS_ENABLED
@ RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_DELETE
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_CLOSEDLIST
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_ASSIGN
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_ASSIGN
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_UNASSIGN
@ RBAC_PERM_COMMAND_TICKET_BUG_UNASSIGN
@ RBAC_PERM_COMMAND_TICKET_BUG_DELETE
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_CLOSEDLIST
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_DELETE
@ RBAC_PERM_COMMAND_TICKET_BUG_VIEW
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT
@ RBAC_PERM_COMMAND_TICKET_BUG_CLOSEDLIST
@ RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM
@ RBAC_PERM_COMMAND_TICKET_BUG
@ RBAC_PERM_COMMAND_TICKET_BUG_CLOSE
@ RBAC_PERM_COMMAND_TICKET_BUG_ASSIGN
@ RBAC_PERM_COMMAND_TICKET_RESET_COMPLAINT
@ RBAC_PERM_COMMAND_TICKET_BUG_LIST
@ RBAC_PERM_COMMAND_TICKET
@ RBAC_PERM_COMMAND_TICKET_RESET_ALL
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_COMMENT
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_LIST
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION
@ RBAC_PERM_COMMAND_TICKET_RESET
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_VIEW
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_COMMENT
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_CLOSE
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_CLOSE
@ RBAC_PERM_COMMAND_TICKET_BUG_COMMENT
@ RBAC_PERM_COMMAND_TICKET_RESET_BUG
@ RBAC_PERM_COMMAND_TICKET_COMPLAINT_VIEW
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_LIST
@ RBAC_PERM_COMMAND_TICKET_SUGGESTION_UNASSIGN
@ RBAC_PERM_COMMAND_TICKET_RESET_SUGGESTION
Battlenet::RealmHandle Id