diff --git a/static/directives/repo-view/repo-panel-settings.html b/static/directives/repo-view/repo-panel-settings.html index 720a96772..b49d835b2 100644 --- a/static/directives/repo-view/repo-panel-settings.html +++ b/static/directives/repo-view/repo-panel-settings.html @@ -103,4 +103,17 @@ + + +
+
+ This action cannot be undone! +
+ + Continue with deletion of this repository? +
\ No newline at end of file diff --git a/static/js/directives/repo-view/repo-panel-settings.js b/static/js/directives/repo-view/repo-panel-settings.js index 07976261d..f00091034 100644 --- a/static/js/directives/repo-view/repo-panel-settings.js +++ b/static/js/directives/repo-view/repo-panel-settings.js @@ -13,6 +13,8 @@ angular.module('quay').directive('repoPanelSettings', function () { 'isEnabled': '=isEnabled' }, controller: function($scope, $element, ApiService, Config) { + $scope.deleteDialogCounter = 0; + $scope.getBadgeFormat = function(format, repository) { if (!repository) { return ''; } @@ -39,22 +41,25 @@ angular.module('quay').directive('repoPanelSettings', function () { }; $scope.askDelete = function() { - bootbox.confirm('Are you sure you want delete this repository?', function(r) { - if (!r) { return; } - $scope.deleteRepo(); - }); + $scope.deleteDialogCounter++; + $scope.deleteRepoInfo = { + 'counter': $scope.deleteDialogCounter + }; }; - $scope.deleteRepo = function() { + $scope.deleteRepo = function(info, callback) { var params = { 'repository': $scope.repository.namespace + '/' + $scope.repository.name }; + var errorHandler = ApiService.errorDisplay('Could not delete repository', callback); + ApiService.deleteRepository(null, params).then(function() { + callback(true); setTimeout(function() { document.location = '/repository/'; }, 100); - }, ApiService.errorDisplay('Could not delete repository')); + }, errorHandler); };