From ecd433d697878e614937ad0bcf125164034c0bf6 Mon Sep 17 00:00:00 2001 From: enahum Date: Wed, 14 Sep 2016 12:16:29 -0300 Subject: PLT-1238 on permalink not visible back button points to last channel or town-square (#4019) --- webapp/actions/global_actions.jsx | 16 ++++++++++++++-- webapp/routes/route_team.jsx | 7 +++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index 75cdb8015..87bd20165 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -146,7 +146,7 @@ export function doFocusPost(channelId, postId, data) { AsyncClient.getPostsAfter(postId, 0, Constants.POST_FOCUS_CONTEXT_RADIUS, true); } -export function emitPostFocusEvent(postId) { +export function emitPostFocusEvent(postId, onSuccess) { AsyncClient.getChannels(true); Client.getPermalinkTmp( postId, @@ -156,9 +156,21 @@ export function emitPostFocusEvent(postId) { } const channelId = data.posts[data.order[0]].channel_id; doFocusPost(channelId, postId, data); + + if (onSuccess) { + onSuccess(); + } }, () => { - browserHistory.push('/error?message=' + encodeURIComponent(Utils.localizeMessage('permalink.error.access', 'Permalink belongs to a deleted message or to a channel to which you do not have access.'))); + let link = `${TeamStore.getCurrentTeamRelativeUrl()}/channels/`; + const channel = ChannelStore.getCurrent(); + if (channel) { + link += channel.name; + } else { + link += 'town-square'; + } + + browserHistory.push('/error?message=' + encodeURIComponent(Utils.localizeMessage('permalink.error.access', 'Permalink belongs to a deleted message or to a channel to which you do not have access.')) + '&link=' + encodeURIComponent(link)); } ); } diff --git a/webapp/routes/route_team.jsx b/webapp/routes/route_team.jsx index 71abd46fb..1b4e48a51 100644 --- a/webapp/routes/route_team.jsx +++ b/webapp/routes/route_team.jsx @@ -132,9 +132,12 @@ function preNeedsTeam(nextState, replace, callback) { }); } -function onPermalinkEnter(nextState) { +function onPermalinkEnter(nextState, replace, callback) { const postId = nextState.params.postid; - GlobalActions.emitPostFocusEvent(postId); + GlobalActions.emitPostFocusEvent( + postId, + () => callback() + ); } export default { -- cgit v1.2.3-1-g7c22