diff options
Diffstat (limited to 'server/sonar-web/src/main/js/store/rootActions.ts')
-rw-r--r-- | server/sonar-web/src/main/js/store/rootActions.ts | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/server/sonar-web/src/main/js/store/rootActions.ts b/server/sonar-web/src/main/js/store/rootActions.ts index adb81802919..4247ac33462 100644 --- a/server/sonar-web/src/main/js/store/rootActions.ts +++ b/server/sonar-web/src/main/js/store/rootActions.ts @@ -25,7 +25,7 @@ import { receiveOrganizations } from './organizations'; import * as auth from '../api/auth'; import { getLanguages } from '../api/languages'; import { getAllMetrics } from '../api/metrics'; -import { getOrganizations } from '../api/organizations'; +import { getOrganizations, getOrganization, getOrganizationNavigation } from '../api/organizations'; export function fetchLanguages() { return (dispatch: Dispatch) => { @@ -48,6 +48,17 @@ export function fetchOrganizations(organizations: string[]) { }; } +export const fetchOrganization = (key: string) => (dispatch: Dispatch) => { + return Promise.all([getOrganization(key), getOrganizationNavigation(key)]).then( + ([organization, navigation]) => { + if (organization) { + const organizationWithPermissions = { ...organization, ...navigation }; + dispatch(receiveOrganizations([organizationWithPermissions])); + } + } + ); +}; + export function doLogin(login: string, password: string) { return (dispatch: Dispatch<any>) => auth.login(login, password).then( |