From 5132c62d15d6a590ba44085c8c93d5dbe9200dc6 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Tue, 8 Aug 2017 13:45:17 +0100 Subject: PLT-7309: Fix webook management when permitted for non-admins. (#7132) --- webapp/actions/integration_actions.jsx | 28 ++++++++++++++++++++++ .../components/installed_incoming_webhooks.jsx | 4 ++-- .../components/installed_outgoing_webhooks.jsx | 4 ++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/webapp/actions/integration_actions.jsx b/webapp/actions/integration_actions.jsx index c9bba9202..cc20b3ab8 100644 --- a/webapp/actions/integration_actions.jsx +++ b/webapp/actions/integration_actions.jsx @@ -33,6 +33,20 @@ export function loadIncomingHooks(complete) { ); } +export function loadIncomingHooksForTeam(teamId, complete) { + IntegrationActions.getIncomingHooks(teamId, 0, 10000)(dispatch, getState).then( + (data) => { + if (data) { + loadProfilesForIncomingHooks(data); + } + + if (complete) { + complete(data); + } + } + ); +} + function loadProfilesForIncomingHooks(hooks) { const profilesToLoad = {}; for (let i = 0; i < hooks.length; i++) { @@ -64,6 +78,20 @@ export function loadOutgoingHooks(complete) { ); } +export function loadOutgoingHooksForTeam(teamId, complete) { + IntegrationActions.getOutgoingHooks('', teamId, 0, 10000)(dispatch, getState).then( + (data) => { + if (data) { + loadProfilesForOutgoingHooks(data); + } + + if (complete) { + complete(data); + } + } + ); +} + function loadProfilesForOutgoingHooks(hooks) { const profilesToLoad = {}; for (let i = 0; i < hooks.length; i++) { diff --git a/webapp/components/integrations/components/installed_incoming_webhooks.jsx b/webapp/components/integrations/components/installed_incoming_webhooks.jsx index 2b46dbd40..06fa217dc 100644 --- a/webapp/components/integrations/components/installed_incoming_webhooks.jsx +++ b/webapp/components/integrations/components/installed_incoming_webhooks.jsx @@ -9,7 +9,7 @@ import IntegrationStore from 'stores/integration_store.jsx'; import TeamStore from 'stores/team_store.jsx'; import UserStore from 'stores/user_store.jsx'; -import {loadIncomingHooks, deleteIncomingHook} from 'actions/integration_actions.jsx'; +import {loadIncomingHooksForTeam, deleteIncomingHook} from 'actions/integration_actions.jsx'; import * as Utils from 'utils/utils.jsx'; @@ -48,7 +48,7 @@ export default class InstalledIncomingWebhooks extends React.Component { UserStore.addChangeListener(this.handleUserChange); if (window.mm_config.EnableIncomingWebhooks === 'true') { - loadIncomingHooks(() => this.setState({loading: false})); + loadIncomingHooksForTeam(TeamStore.getCurrentId(), () => this.setState({loading: false})); } } diff --git a/webapp/components/integrations/components/installed_outgoing_webhooks.jsx b/webapp/components/integrations/components/installed_outgoing_webhooks.jsx index 4f39b0f05..9b8baf3f4 100644 --- a/webapp/components/integrations/components/installed_outgoing_webhooks.jsx +++ b/webapp/components/integrations/components/installed_outgoing_webhooks.jsx @@ -9,7 +9,7 @@ import IntegrationStore from 'stores/integration_store.jsx'; import TeamStore from 'stores/team_store.jsx'; import UserStore from 'stores/user_store.jsx'; -import {loadOutgoingHooks, regenOutgoingHookToken, deleteOutgoingHook} from 'actions/integration_actions.jsx'; +import {loadOutgoingHooksForTeam, regenOutgoingHookToken, deleteOutgoingHook} from 'actions/integration_actions.jsx'; import * as Utils from 'utils/utils.jsx'; @@ -49,7 +49,7 @@ export default class InstalledOutgoingWebhooks extends React.Component { UserStore.addChangeListener(this.handleUserChange); if (window.mm_config.EnableOutgoingWebhooks === 'true') { - loadOutgoingHooks(() => this.setState({loading: false})); + loadOutgoingHooksForTeam(TeamStore.getCurrentId(), () => this.setState({loading: false})); } } -- cgit v1.2.3-1-g7c22