Send a message to the party chat when a quest is aborted, fixes #4879 (#8150)

* Send a message to the party chat when a quest is aborted

* Added test cases for sending a message to party when quest is aborted

* Restore Group.prototype.sendChat after aborted quest test
This commit is contained in:
Alyssa Batula
2016-11-26 02:48:42 -05:00
committed by Alys
parent a5ad9c30f0
commit 7eeeda2aae
2 changed files with 10 additions and 1 deletions

View File

@@ -412,12 +412,16 @@ api.abortQuest = {
let validationErrors = req.validationErrors();
if (validationErrors) throw validationErrors;
let group = await Group.getGroup({user, groupId, fields: 'type quest leader'});
let group = await Group.getGroup({user, groupId, fields: 'type quest leader chat'});
if (!group) throw new NotFound(res.t('groupNotFound'));
if (group.type !== 'party') throw new NotAuthorized(res.t('guildQuestsNotSupported'));
if (!group.quest.active) throw new NotFound(res.t('noActiveQuestToAbort'));
if (user._id !== group.leader && user._id !== group.quest.leader) throw new NotAuthorized(res.t('onlyLeaderAbortQuest'));
let questName = questScrolls[group.quest.key].text('en');
group.sendChat(`\`${user.profile.name} aborted the party quest ${questName}.\``);
let memberUpdates = User.update({
'party._id': groupId,
}, {