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}
/>
)}