keycloak-uncached

Merge pull request #3300 from ssilvert/flow-to-browser KEYCLOAK-3679:

10/7/2016 7:13:07 PM

Details

diff --git a/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js b/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js
index c686171..1589ffd 100644
--- a/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js
+++ b/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js
@@ -1811,6 +1811,8 @@ module.controller('CreateExecutionFlowCtrl', function($scope, realm, topFlow, pa
                                                       Notifications, $location) {
     $scope.realm = realm;
     $scope.formProviders = formProviders;
+    
+    var returnToTopFlow = parentFlow.topLevel ? parentFlow.alias : topFlow;
 
     var defaultFlowType = parentFlow.providerId == 'client-flow' ? 'client-flow' : 'basic-flow';
     $scope.flow = {
@@ -1826,12 +1828,12 @@ module.controller('CreateExecutionFlowCtrl', function($scope, realm, topFlow, pa
     $scope.save = function() {
         $scope.flow.provider = $scope.provider.id;
         CreateExecutionFlow.save({realm: realm.realm, alias: parentFlow.alias}, $scope.flow, function() {
-            $location.url("/realms/" + realm.realm + "/authentication/flows/" + topFlow);
+            $location.url("/realms/" + realm.realm + "/authentication/flows/" + returnToTopFlow);
             Notifications.success("Flow Created.");
         })
     }
     $scope.cancel = function() {
-        $location.url("/realms/" + realm.realm + "/authentication/flows/" + topFlow);
+        $location.url("/realms/" + realm.realm + "/authentication/flows/" + returnToTopFlow);
     };
 });
 
@@ -1840,6 +1842,9 @@ module.controller('CreateExecutionCtrl', function($scope, realm, topFlow, parent
                                                       Notifications, $location) {
     $scope.realm = realm;
     $scope.parentFlow = parentFlow;
+    
+    var returnToTopFlow = parentFlow.topLevel ? parentFlow.alias : topFlow;
+    
     if (parentFlow.providerId == 'form-flow') {
         $scope.providers = formActionProviders;
     } else if (parentFlow.providerId == 'client-flow') {
@@ -1858,12 +1863,12 @@ module.controller('CreateExecutionCtrl', function($scope, realm, topFlow, parent
             provider: $scope.provider.id
         }
         CreateExecution.save({realm: realm.realm, alias: parentFlow.alias}, execution, function() {
-            $location.url("/realms/" + realm.realm + "/authentication/flows/" + topFlow);
+            $location.url("/realms/" + realm.realm + "/authentication/flows/" + returnToTopFlow);
             Notifications.success("Execution Created.");
         })
     }
     $scope.cancel = function() {
-        $location.url("/realms/" + realm.realm + "/authentication/flows/" + topFlow);
+        $location.url("/realms/" + realm.realm + "/authentication/flows/" + returnToTopFlow);
     };
 });