fix(inbox): more UN display fixes

This commit is contained in:
Sabe Jones
2018-11-01 17:41:27 -05:00
parent 6c71abfac8
commit 3922415314
5 changed files with 25 additions and 11 deletions

View File

@@ -355,7 +355,10 @@ export default {
sendMessage (member) { sendMessage (member) {
this.$root.$emit('habitica::new-inbox-message', { this.$root.$emit('habitica::new-inbox-message', {
userIdToMessage: member._id, userIdToMessage: member._id,
userName: member.profile.name, displayName: member.profile.name,
username: member.auth.local.username,
backer: member.backer,
contributor: member.contributor,
}); });
}, },
async searchMembers (searchTerm = '') { async searchMembers (searchTerm = '') {

View File

@@ -261,9 +261,11 @@ export default {
} }
this.initiatedConversation = { this.initiatedConversation = {
uuid: data.userIdToMessage,
user: data.displayName, user: data.displayName,
username: data.username, username: data.username,
uuid: data.userIdToMessage, backer: data.backer,
contributor: data.contributor,
}; };
this.selectConversation(data.userIdToMessage); this.selectConversation(data.userIdToMessage);
@@ -312,11 +314,13 @@ export default {
// Add placeholder for new conversations // Add placeholder for new conversations
if (this.initiatedConversation && this.initiatedConversation.uuid) { if (this.initiatedConversation && this.initiatedConversation.uuid) {
inboxGroup[this.initiatedConversation.uuid] = [{ inboxGroup[this.initiatedConversation.uuid] = [{
uuid: this.initiatedConversation.uuid,
user: this.initiatedConversation.user,
username: this.initiatedConversation.username, // ?
backer: this.initiatedConversation.backer,
contributor: this.initiatedConversation.contributor,
id: '', id: '',
text: '', text: '',
user: this.initiatedConversation.user,
username: this.initiatedConversation.username,
uuid: this.initiatedConversation.uuid,
timestamp: new Date(), timestamp: new Date(),
}]; }];
} }
@@ -349,12 +353,14 @@ export default {
const recentMessage = newChatModels[newChatModels.length - 1]; const recentMessage = newChatModels[newChatModels.length - 1];
if (!recentMessage.text) newChatModels.splice(newChatModels.length - 1, 1); if (!recentMessage.text) newChatModels.splice(newChatModels.length - 1, 1);
if (recentMessage.username === this.user.auth.local.username) recentMessage.username = null;
const convoModel = { const convoModel = {
backer: recentMessage.toUserBacker ? recentMessage.toUserBacker : recentMessage.backer,
contributor: recentMessage.toUserContributor ? recentMessage.toUserContributor : recentMessage.contributor,
key: recentMessage.toUUID ? recentMessage.toUUID : recentMessage.uuid, key: recentMessage.toUUID ? recentMessage.toUUID : recentMessage.uuid,
name: recentMessage.toUser ? recentMessage.toUser : recentMessage.user, // Handles case where from user sent the only message or the to user sent the only message name: recentMessage.toUser ? recentMessage.toUser : recentMessage.user, // Handles case where from user sent the only message or the to user sent the only message
username: recentMessage.toUserName ? recentMessage.toUserName : recentMessage.username, username: recentMessage.toUserName ? recentMessage.toUserName : recentMessage.username,
backer: recentMessage.toUserBacker ? recentMessage.toUserBacker : recentMessage.backer,
contributor: recentMessage.toUserContributor ? recentMessage.toUserContributor : recentMessage.contributor,
date: recentMessage.timestamp, date: recentMessage.timestamp,
lastMessageText: recentMessage.text, lastMessageText: recentMessage.text,
messages: newChatModels, messages: newChatModels,
@@ -426,9 +432,11 @@ export default {
const messageIndex = this.messages.findIndex(msg => msg.id === message.id); const messageIndex = this.messages.findIndex(msg => msg.id === message.id);
if (messageIndex !== -1) this.messages.splice(messageIndex, 1); if (messageIndex !== -1) this.messages.splice(messageIndex, 1);
if (this.selectedConversationMessages.length === 0) this.initiatedConversation = { if (this.selectedConversationMessages.length === 0) this.initiatedConversation = {
uuid: this.selectedConversation.key,
user: this.selectedConversation.name, user: this.selectedConversation.name,
username: this.selectedConversation.username, username: this.selectedConversation.username,
uuid: this.selectedConversation.key, backer: this.selectedConversation.backer,
contributor: this.selectedConversation.contributor,
}; };
}, },
toggleClick () { toggleClick () {
@@ -491,11 +499,11 @@ export default {
this.$root.$emit('bv::hide::modal', 'inbox-modal'); this.$root.$emit('bv::hide::modal', 'inbox-modal');
}, },
tierIcon (message) { tierIcon (message) {
if (!message.contributor) return;
const isNPC = Boolean(message.backer && message.backer.npc); const isNPC = Boolean(message.backer && message.backer.npc);
if (isNPC) { if (isNPC) {
return this.icons.tierNPC; return this.icons.tierNPC;
} }
if (!message.contributor) return;
return this.icons[`tier${message.contributor.level}`]; return this.icons[`tier${message.contributor.level}`];
}, },
}, },

View File

@@ -472,6 +472,8 @@ export default {
userIdToMessage: this.user._id, userIdToMessage: this.user._id,
displayName: this.user.profile.name, displayName: this.user.profile.name,
username: this.user.auth.local.username, username: this.user.auth.local.username,
backer: this.user.backer,
contributor: this.user.contributor,
}); });
}, },
getProgressDisplay () { getProgressDisplay () {

View File

@@ -109,7 +109,7 @@ api.getMember = {
if (!member) throw new NotFound(res.t('userWithIDNotFound', {userId: memberId})); if (!member) throw new NotFound(res.t('userWithIDNotFound', {userId: memberId}));
if (!member.flags.verifiedUsername) delete member.auth.local.username; if (!member.flags.verifiedUsername) member.auth.local.username = null;
// manually call toJSON with minimize: true so empty paths aren't returned // manually call toJSON with minimize: true so empty paths aren't returned
let memberToJSON = member.toJSON({minimize: true}); let memberToJSON = member.toJSON({minimize: true});
@@ -607,6 +607,7 @@ api.sendPrivateMessage = {
const message = req.body.message; const message = req.body.message;
const receiver = await User.findById(req.body.toUserId).exec(); const receiver = await User.findById(req.body.toUserId).exec();
if (!receiver) throw new NotFound(res.t('userNotFound')); if (!receiver) throw new NotFound(res.t('userNotFound'));
if (!receiver.flags.verifiedUsername) delete receiver.auth.local.username;
const objections = sender.getObjectionsToInteraction('send-private-message', receiver); const objections = sender.getObjectionsToInteraction('send-private-message', receiver);
if (objections.length > 0 && !sender.isAdmin()) throw new NotAuthorized(res.t(objections[0])); if (objections.length > 0 && !sender.isAdmin()) throw new NotAuthorized(res.t(objections[0]));

View File

@@ -220,7 +220,7 @@ schema.statics.transformJSONUser = function transformJSONUser (jsonUser, addComp
jsonUser.id = jsonUser._id; jsonUser.id = jsonUser._id;
// Remove username if not verified // Remove username if not verified
if (!jsonUser.flags.verifiedUsername) delete jsonUser.auth.local.username; if (!jsonUser.flags.verifiedUsername) jsonUser.auth.local.username = null;
if (addComputedStats) this.addComputedStatsToJSONObj(jsonUser.stats, jsonUser); if (addComputedStats) this.addComputedStatsToJSONObj(jsonUser.stats, jsonUser);
}; };