diff --git a/awx/ui/static/js/app.js b/awx/ui/static/js/app.js index 015e3be081..b535f5a0f8 100644 --- a/awx/ui/static/js/app.js +++ b/awx/ui/static/js/app.js @@ -101,6 +101,9 @@ angular.module('ansible', [ when('/projects/:project_id/organizations', { templateUrl: urlPrefix + 'partials/projects.html', controller: OrganizationsList }). + when('/projects/:project_id/organizations/add', + { templateUrl: urlPrefix + 'partials/projects.html', controller: OrganizationsAdd }). + when('/inventories', { templateUrl: urlPrefix + 'partials/inventories.html', controller: InventoriesList }). diff --git a/awx/ui/static/js/controllers/Organizations.js b/awx/ui/static/js/controllers/Organizations.js index e04c37d65a..7eee6ce833 100644 --- a/awx/ui/static/js/controllers/Organizations.js +++ b/awx/ui/static/js/controllers/Organizations.js @@ -138,6 +138,7 @@ function OrganizationsAdd ($scope, $rootScope, $compile, $location, $log, $route // Inject dynamic view var form = GenerateForm; var scope = form.inject(OrganizationForm, {mode: 'add', related: false}); + var base = $location.path().replace(/^\//,'').split('/')[0]; var defaultUrl = GetBasePath('organizations'); form.reset(); @@ -145,12 +146,19 @@ function OrganizationsAdd ($scope, $rootScope, $compile, $location, $log, $route // Save scope.formSave = function() { - Rest.setUrl(defaultUrl); + var url = GetBasePath(base); + url += (base != 'organizations') ? $routeParams['project_id'] + '/organizations/' : ''; + Rest.setUrl(url); Rest.post({ name: $scope.name, description: $scope.description }) - .success( function(data, status, headers, config) { - $rootScope.flashMessage = "New organization successfully created!"; - $location.path('/organizations/' + data.id); + .success( function(data, status, headers, config) { + if (base == 'organizations') { + $rootScope.flashMessage = "New organization successfully created!"; + $location.path('/organizations/' + data.id); + } + else { + ReturnToCaller(1); + } }) .error( function(data, status, headers, config) { ProcessErrors(scope, data, status, OrganizationForm,