[FIX] Updating a message from apps if keep history is on (#14129)

pull/14142/head^2
Diego Sampaio 7 years ago committed by GitHub
parent 0227f8b89e
commit e0920904bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      app/lib/server/functions/deleteMessage.js
  2. 2
      app/lib/server/functions/updateMessage.js
  3. 10
      app/message-pin/server/pinMessage.js
  4. 6
      app/message-snippet/server/methods/snippetMessage.js
  5. 11
      app/models/server/models/Messages.js

@ -20,7 +20,7 @@ export const deleteMessage = function(message, user) {
if (keepHistory) {
if (showDeletedStatus) {
Messages.cloneAndSaveAsHistoryById(message._id);
Messages.cloneAndSaveAsHistoryById(message._id, user);
} else {
Messages.setHiddenById(message._id, true);
}

@ -29,7 +29,7 @@ export const updateMessage = function(message, user, originalMessage) {
// If we keep history of edits, insert a new message to store history information
if (settings.get('Message_KeepHistory')) {
Messages.cloneAndSaveAsHistoryById(message._id);
Messages.cloneAndSaveAsHistoryById(message._id, user);
}
message.editedAt = new Date();

@ -58,12 +58,13 @@ Meteor.methods({
});
}
const me = Users.findOneById(userId);
// If we keep history of edits, insert a new message to store history information
if (settings.get('Message_KeepHistory')) {
Messages.cloneAndSaveAsHistoryById(message._id);
Messages.cloneAndSaveAsHistoryById(message._id, me);
}
const room = Meteor.call('canAccessRoom', message.rid, Meteor.userId());
const me = Users.findOneById(userId);
originalMessage.pinned = true;
originalMessage.pinnedAt = pinnedAt || Date.now;
@ -141,12 +142,13 @@ Meteor.methods({
});
}
const me = Users.findOneById(Meteor.userId());
// If we keep history of edits, insert a new message to store history information
if (settings.get('Message_KeepHistory')) {
Messages.cloneAndSaveAsHistoryById(originalMessage._id);
Messages.cloneAndSaveAsHistoryById(originalMessage._id, me);
}
const me = Users.findOneById(Meteor.userId());
originalMessage.pinned = false;
originalMessage.pinnedBy = {
_id: Meteor.userId(),

@ -23,13 +23,13 @@ Meteor.methods({
return false;
}
const me = Users.findOneById(Meteor.userId());
// If we keep history of edits, insert a new message to store history information
if (settings.get('Message_KeepHistory')) {
Messages.cloneAndSaveAsHistoryById(message._id);
Messages.cloneAndSaveAsHistoryById(message._id, me);
}
const me = Users.findOneById(Meteor.userId());
message.snippeted = true;
message.snippetedAt = Date.now;
message.snippetedBy = {

@ -1,8 +1,6 @@
import { Meteor } from 'meteor/meteor';
import { Match } from 'meteor/check';
import { Base } from './_Base';
import Rooms from './Rooms';
import Users from './Users';
import { settings } from '../../../settings/server/functions/settings';
import { FileUpload } from '../../../file-upload/server/lib/FileUpload';
import _ from 'underscore';
@ -493,15 +491,14 @@ export class Messages extends Base {
return this.findOne(query, options);
}
cloneAndSaveAsHistoryById(_id) {
const me = Users.findOneById(Meteor.userId());
cloneAndSaveAsHistoryById(_id, user) {
const record = this.findOneById(_id);
record._hidden = true;
record.parent = record._id;
record.editedAt = new Date;
record.editedBy = {
_id: Meteor.userId(),
username: me.username,
_id: user._id,
username: user.username,
};
delete record._id;
return this.insert(record);
@ -644,7 +641,7 @@ export class Messages extends Base {
} else {
update = {
$pull: {
starred: { _id: Meteor.userId() },
starred: { _id: userId },
},
};
}

Loading…
Cancel
Save