diff --git a/awx/ui/src/App.js b/awx/ui/src/App.js index 06c7085c12..a1e1dc1dc9 100644 --- a/awx/ui/src/App.js +++ b/awx/ui/src/App.js @@ -100,7 +100,7 @@ const AuthorizedRoutes = ({ routeConfig }) => { const ProtectedRoute = ({ children, ...rest }) => { const { authRedirectTo, setAuthRedirectTo } = useSession(); - const { pathname } = useLocation(); + const location = useLocation(); useEffect(() => { setAuthRedirectTo(authRedirectTo === '/logout' ? '/' : pathname); @@ -116,6 +116,12 @@ const ProtectedRoute = ({ children, ...rest }) => { ); } + setAuthRedirectTo( + authRedirectTo === '/logout' + ? '/' + : `${location.pathname}${location.search}` + ); + return ; }; diff --git a/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentAdd/ExecutionEnvironmentAdd.js b/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentAdd/ExecutionEnvironmentAdd.js index 3486626473..429188fd4f 100644 --- a/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentAdd/ExecutionEnvironmentAdd.js +++ b/awx/ui/src/screens/ExecutionEnvironment/ExecutionEnvironmentAdd/ExecutionEnvironmentAdd.js @@ -27,6 +27,21 @@ function ExecutionEnvironmentAdd() { const handleCancel = () => { history.push(`/execution_environments`); }; + + const hubParams = { + image: '', + credential: null // reverse lookup? + }; + history.location.search.replace(/^\?/, '') + .split('&') + .map((s) => s.split('=')) + .forEach(([key, val]) => { + if (!(key in hubParams)) { + return; + } + hubParams[key] = decodeURIComponent(val); + }); + return ( @@ -38,6 +53,7 @@ function ExecutionEnvironmentAdd() { submitError={submitError} onCancel={handleCancel} me={me || {}} + executionEnvironment={hubParams} /> )}