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