From 83e90596e3c55ecb23a964d30a64cd8ccb6598ba Mon Sep 17 00:00:00 2001 From: enahum Date: Mon, 15 Jan 2018 17:08:56 -0300 Subject: [PATCH] Request data retention policies only when the user is logged in (#1351) --- app/actions/views/login.js | 11 +++++++++++ app/actions/views/root.js | 13 ++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/actions/views/login.js b/app/actions/views/login.js index 513507d64..eb69aa0e6 100644 --- a/app/actions/views/login.js +++ b/app/actions/views/login.js @@ -1,5 +1,7 @@ // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. // See License.txt for license information. + +import {getDataRetentionPolicy} from 'mattermost-redux/actions/general'; import {GeneralTypes} from 'mattermost-redux/action_types'; import {Client, Client4} from 'mattermost-redux/client'; @@ -25,8 +27,10 @@ export function handlePasswordChanged(password) { export function handleSuccessfulLogin() { return async (dispatch, getState) => { + const {config, license} = getState().entities.general; const token = Client4.getToken(); const url = Client4.getUrl(); + dispatch({ type: GeneralTypes.RECEIVED_APP_CREDENTIALS, data: { @@ -38,6 +42,13 @@ export function handleSuccessfulLogin() { Client.setToken(token); Client.setUrl(url); + if (config.DataRetentionEnableMessageDeletion && config.DataRetentionEnableMessageDeletion === 'true' && + license.IsLicensed === 'true' && license.DataRetention === 'true') { + getDataRetentionPolicy()(dispatch, getState); + } else { + dispatch({type: GeneralTypes.RECEIVED_DATA_RETENTION_POLICY, data: {}}); + } + return true; }; } diff --git a/app/actions/views/root.js b/app/actions/views/root.js index d2b812585..7e7571010 100644 --- a/app/actions/views/root.js +++ b/app/actions/views/root.js @@ -19,6 +19,7 @@ import { export function loadConfigAndLicense() { return async (dispatch, getState) => { + const {currentUserId} = getState().entities.users; const [configData, licenseData] = await Promise.all([ getClientConfig()(dispatch, getState), getLicenseConfig()(dispatch, getState) @@ -27,11 +28,13 @@ export function loadConfigAndLicense() { const config = configData.data || {}; const license = licenseData.data || {}; - if (config.DataRetentionEnableMessageDeletion && config.DataRetentionEnableMessageDeletion === 'true' && - license.IsLicensed === 'true' && license.DataRetention === 'true') { - getDataRetentionPolicy()(dispatch, getState); - } else { - dispatch({type: GeneralTypes.RECEIVED_DATA_RETENTION_POLICY, data: {}}); + if (currentUserId) { + if (config.DataRetentionEnableMessageDeletion && config.DataRetentionEnableMessageDeletion === 'true' && + license.IsLicensed === 'true' && license.DataRetention === 'true') { + getDataRetentionPolicy()(dispatch, getState); + } else { + dispatch({type: GeneralTypes.RECEIVED_DATA_RETENTION_POLICY, data: {}}); + } } return {config, license};