From 5d9d486f9c4a89174c7adb91b300af476cce2e81 Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Tue, 8 Sep 2020 14:46:33 -0400 Subject: [PATCH] Resolve notification admin status with config --- .../components/AppContainer/AppContainer.jsx | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/awx/ui_next/src/components/AppContainer/AppContainer.jsx b/awx/ui_next/src/components/AppContainer/AppContainer.jsx index 0abd198c07..bf366b2edb 100644 --- a/awx/ui_next/src/components/AppContainer/AppContainer.jsx +++ b/awx/ui_next/src/components/AppContainer/AppContainer.jsx @@ -12,7 +12,7 @@ import { t } from '@lingui/macro'; import { withI18n } from '@lingui/react'; import styled from 'styled-components'; -import { ConfigAPI, MeAPI, RootAPI } from '../../api'; +import { ConfigAPI, MeAPI, OrganizationsAPI, RootAPI } from '../../api'; import { ConfigProvider } from '../../contexts/Config'; import { SESSION_TIMEOUT_KEY } from '../../constants'; import { isAuthenticated } from '../../util/auth'; @@ -148,8 +148,22 @@ function AppContainer({ i18n, navRouteConfig = [], children }) { results: [me], }, }, - ] = await Promise.all([ConfigAPI.read(), MeAPI.read()]); - setConfig({ ...data, me }); + { + data: { results: notificationAdminResults }, + }, + ] = await Promise.all([ + ConfigAPI.read(), + MeAPI.read(), + OrganizationsAPI.read({ + page_size: 1, + role_level: 'notification_admin_role', + }), + ]); + setConfig({ + ...data, + me, + isNotificationAdmin: Boolean(notificationAdminResults?.length), + }); setIsReady(true); } catch (err) { if (err.response.status === 401) {