aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/store/rootActions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web/src/main/js/store/rootActions.ts')
-rw-r--r--server/sonar-web/src/main/js/store/rootActions.ts13
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(