From 8160fe47171e8397a3047935b5b26e42d1e98e49 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Wed, 23 Jan 2019 01:21:48 +0200 Subject: [PATCH] feat(app): redirect to home if no endpoint is set (#2601) * refactor(stacks): set newstack state as a child state of stacks * fix(docker): add check on docker states for endpoint * refactor(app): remove redirect notification --- app/docker/__module.js | 12 +++++++++++- app/portainer/__module.js | 12 +++++++++++- .../datatables/stacks-datatable/stacksDatatable.html | 2 +- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/docker/__module.js b/app/docker/__module.js index 9bd99a7cd..d36f0df8c 100644 --- a/app/docker/__module.js +++ b/app/docker/__module.js @@ -5,7 +5,17 @@ angular.module('portainer.docker', ['portainer.app']) var docker = { name: 'docker', parent: 'root', - abstract: true + abstract: true, + resolve: { + endpointID: ['EndpointProvider', '$state', + function (EndpointProvider, $state) { + var id = EndpointProvider.endpointID(); + if (!id) { + return $state.go('portainer.home'); + } + } + ] + } }; var configs = { diff --git a/app/portainer/__module.js b/app/portainer/__module.js index b79553a52..3b29b82ee 100644 --- a/app/portainer/__module.js +++ b/app/portainer/__module.js @@ -327,6 +327,16 @@ angular.module('portainer.app', []) templateUrl: 'app/portainer/views/stacks/stacks.html', controller: 'StacksController' } + }, + resolve: { + endpointID: ['EndpointProvider', '$state', + function (EndpointProvider, $state) { + var id = EndpointProvider.endpointID(); + if (!id) { + return $state.go('portainer.home'); + } + } + ] } }; @@ -342,7 +352,7 @@ angular.module('portainer.app', []) }; var stackCreation = { - name: 'portainer.newstack', + name: 'portainer.stacks.newstack', url: '/newstack', views: { 'content@': { diff --git a/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html b/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html index dc18ed8e1..b9d499949 100644 --- a/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html +++ b/app/portainer/components/datatables/stacks-datatable/stacksDatatable.html @@ -11,7 +11,7 @@ ng-disabled="$ctrl.state.selectedItemCount === 0" ng-click="$ctrl.removeAction($ctrl.state.selectedItems)"> Remove -