diff options
author | Duarte Duarte <dnpd.dd@gmail.com> | 2015-10-06 06:35:45 -0700 |
---|---|---|
committer | Duarte Duarte <dnpd.dd@gmail.com> | 2015-10-06 06:35:45 -0700 |
commit | 22536641b20a2b10c323d5104d515a91dc25c3db (patch) | |
tree | f1d923be75f7b1e5714e43983297094b54ed31be /src/server/game/Tickets/TicketMgr.cpp | |
parent | dcc1e50897389ddce7ca2110c6f1493315239105 (diff) | |
parent | e66db9e20c968659388f5ef231ede1ee0a316976 (diff) |
Merge pull request #15654 from ShinDarth/resolvedBy
Core/Ticket keep always trace of GM who resolves the ticket
Diffstat (limited to 'src/server/game/Tickets/TicketMgr.cpp')
-rw-r--r-- | src/server/game/Tickets/TicketMgr.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp index a51c9fb16d2..dbf66c6bd71 100644 --- a/src/server/game/Tickets/TicketMgr.cpp +++ b/src/server/game/Tickets/TicketMgr.cpp @@ -75,8 +75,8 @@ bool GmTicket::LoadFromDB(Field* fields) void GmTicket::SaveToDB(SQLTransaction& trans) const { - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - // ticketId, guid, name, message, createTime, mapId, posX, posY, posZ, lastModifiedTime, closedBy, assignedTo, comment, completed, escalated, viewed + // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 + // id, playerGuid, name, description, createTime, mapId, posX, posY, posZ, lastModifiedTime, closedBy, assignedTo, comment, response, completed, escalated, viewed, needMoreHelp, resolvedBy uint8 index = 0; PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GM_TICKET); stmt->setUInt32( index, _id); @@ -97,6 +97,7 @@ void GmTicket::SaveToDB(SQLTransaction& trans) const stmt->setUInt8 (++index, uint8(_escalatedStatus)); stmt->setBool (++index, _viewed); stmt->setBool (++index, _needMoreHelp); + stmt->setInt32 (++index, int32(_resolvedBy.GetCounter())); CharacterDatabase.ExecuteOrAppend(trans, stmt); } @@ -361,6 +362,19 @@ void TicketMgr::CloseTicket(uint32 ticketId, ObjectGuid source) } } +void TicketMgr::ResolveAndCloseTicket(uint32 ticketId, ObjectGuid source) +{ + if (GmTicket* ticket = GetTicket(ticketId)) + { + SQLTransaction trans = SQLTransaction(nullptr); + ticket->SetClosedBy(source); + ticket->SetResolvedBy(source); + if (source) + --_openTicketCount; + ticket->SaveToDB(trans); + } +} + void TicketMgr::RemoveTicket(uint32 ticketId) { if (GmTicket* ticket = GetTicket(ticketId)) |