PLT-1909 Fixed error rendering pending posts (#3041)

* Fixed error caused by checking if a post is a system message

* Fixed trying to edit system posts when using the up arrow hotkey
Этот коммит содержится в:
Harrison Healey
2016-05-18 11:15:17 -04:00
коммит произвёл Christopher Speller
родитель d48be63513
Коммит 02576f3d59
4 изменённых файлов: 6 добавлений и 5 удалений

Просмотреть файл

@@ -33,7 +33,7 @@ export default class PostInfo extends React.Component {
var post = this.props.post; var post = this.props.post;
var isOwner = this.props.currentUser.id === post.user_id; var isOwner = this.props.currentUser.id === post.user_id;
var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser();
const isSystemMessage = post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX); const isSystemMessage = post.type && post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX);
if (post.state === Constants.POST_FAILED || post.state === Constants.POST_LOADING || Utils.isPostEphemeral(post)) { if (post.state === Constants.POST_FAILED || post.state === Constants.POST_LOADING || Utils.isPostEphemeral(post)) {
return ''; return '';

Просмотреть файл

@@ -85,7 +85,7 @@ export default class RhsComment extends React.Component {
const isOwner = this.props.currentUser.id === post.user_id; const isOwner = this.props.currentUser.id === post.user_id;
var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser();
const isSystemMessage = post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX); const isSystemMessage = post.type && post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX);
var dropdownContents = []; var dropdownContents = [];

Просмотреть файл

@@ -41,7 +41,7 @@ export default class RhsRootPost extends React.Component {
const user = this.props.user; const user = this.props.user;
var isOwner = this.props.currentUser.id === post.user_id; var isOwner = this.props.currentUser.id === post.user_id;
var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser();
const isSystemMessage = post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX); const isSystemMessage = post.type && post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX);
var timestamp = UserStore.getProfile(post.user_id).update_at; var timestamp = UserStore.getProfile(post.user_id).update_at;
var channel = ChannelStore.get(post.channel_id); var channel = ChannelStore.get(post.channel_id);

Просмотреть файл

@@ -454,10 +454,11 @@ class PostStoreClass extends EventEmitter {
for (let i = 0; i < len; i++) { for (let i = 0; i < len; i++) {
const post = postList.posts[postList.order[i]]; const post = postList.posts[postList.order[i]];
// don't edit webhook posts or deleted posts // don't edit webhook posts, deleted posts, or system messages
if (post.user_id !== userId || if (post.user_id !== userId ||
(post.props && post.props.from_webhook) || (post.props && post.props.from_webhook) ||
post.state === Constants.POST_DELETED) { post.state === Constants.POST_DELETED ||
(post.type && post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX))) {
continue; continue;
} }