diff options
author | Carbenium <carbenium@outlook.com> | 2015-04-19 23:28:25 +0200 |
---|---|---|
committer | Carbenium <carbenium@outlook.com> | 2015-04-21 22:00:25 +0200 |
commit | dab8e12413623a4eef5628265471a93b54a1b339 (patch) | |
tree | e015aaa34207bfaba32dac5e165231aba64a3cde /src/server/scripts/Commands | |
parent | 7e5df6d50447ca667620f78faf01f7f9c3ae0c9f (diff) |
Core/Support:
* Ticket status (viewed by GM, escalated) is now displayed correctly
* Fixed packet structure of CMSG_GM_TICKET_CREATE
* Use proper enum values (from client)
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r-- | src/server/scripts/Commands/cs_ticket.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp index b97c2657d30..3847a74bc34 100644 --- a/src/server/scripts/Commands/cs_ticket.cpp +++ b/src/server/scripts/Commands/cs_ticket.cpp @@ -97,13 +97,15 @@ public: uint32 ticketId = atoi(args); GmTicket* ticket = sSupportMgr->GetTicket<GmTicket>(ticketId); - if (!ticket || ticket->IsClosed() || ticket->IsCompleted() || ticket->GetEscalatedStatus() != TICKET_UNASSIGNED) + if (!ticket || ticket->IsClosed() || ticket->IsCompleted() || ticket->GetAssigendToStatus() != GMTICKET_ASSIGNEDTOGM_STATUS_NOT_ASSIGNED) { handler->SendSysMessage(LANG_COMMAND_TICKETNOTEXIST); return true; } - ticket->SetEscalatedStatus(TICKET_IN_ESCALATION_QUEUE); + SQLTransaction trans = SQLTransaction(NULL); + ticket->SetAssignedToStatus(GMTICKET_ASSIGNEDTOGM_STATUS_ESCALATED); + ticket->SaveToDB(trans); if (Player* player = ticket->GetPlayer()) sSupportMgr->SendGmTicket(player->GetSession(), ticket); @@ -192,6 +194,9 @@ public: ticket->SetViewed(); ticket->SaveToDB(trans); + if (Player* player = ticket->GetPlayer()) + sSupportMgr->SendGmTicket(player->GetSession(), ticket); + handler->SendSysMessage(ticket->FormatViewMessageString(*handler, true).c_str()); return true; } @@ -677,6 +682,9 @@ bool ticket_commandscript::HandleTicketUnAssignCommand<GmTicket>(ChatHandler* ha ticket->SaveToDB(trans); sSupportMgr->UpdateLastChange(); + if (Player* player = ticket->GetPlayer()) + sSupportMgr->SendGmTicket(player->GetSession(), ticket); + std::string msg = ticket->FormatViewMessageString(*handler, NULL, assignedTo.c_str(), handler->GetSession() ? handler->GetSession()->GetPlayer()->GetName().c_str() : "Console", NULL, NULL); handler->SendGlobalGMSysMessage(msg.c_str()); @@ -719,6 +727,9 @@ bool ticket_commandscript::HandleTicketGetByIdCommand<GmTicket>(ChatHandler* han ticket->SetViewed(); ticket->SaveToDB(trans); + if (Player* player = ticket->GetPlayer()) + sSupportMgr->SendGmTicket(player->GetSession(), ticket); + handler->SendSysMessage(ticket->FormatViewMessageString(*handler, true).c_str()); return true; } |