diff --git a/app/js/app.js b/app/js/app.js index 423cf3b..77c8284 100644 --- a/app/js/app.js +++ b/app/js/app.js @@ -48,6 +48,10 @@ angular.module('myApp', [ templateUrl: '/views/sprint.html', controller: 'SubSprintCtrl' }) + .when('/delete', { + templateUrl: '/views/delete.html', + controller: 'DeleteCtrl' + }) .when('/error', { templateUrl: '/views/404.html', }) diff --git a/app/js/controllers.js b/app/js/controllers.js index aeaa362..84cab04 100644 --- a/app/js/controllers.js +++ b/app/js/controllers.js @@ -174,6 +174,10 @@ angular.module('myApp.controllers', []) $scope.complete = {}; $scope.archive = sprintService.archive($routeParams.id, function (data) { + $scope.m = data; + }); + + $scope.delete = sprintService.delete($routeParams.id, function (data) { $scope.m = data }); @@ -472,6 +476,31 @@ angular.module('myApp.controllers', []) }); } ]) + .controller('DeleteCtrl', [ + '$scope', + 'sprintService', + + + function ($scope, sprintService) { + $scope.m = {}; + $scope.$on('sprintRefresh', function (event, sprints) { + $scope.sprints = sprints; + }); + $scope.pageTitle = 'Delete Sprints' + sprintService + .getAll() + .success(function (sprints) { + $scope.sprints = sprints; + }); + $scope.delete=function(sprintid) { + sprintService + .deleteSprint(sprintid,function (data) { + + }); + + } + } + ]) .controller('ArchivedCtrl', [ '$scope', 'sprintService', diff --git a/app/js/services.js b/app/js/services.js index 315b71f..d41f92f 100644 --- a/app/js/services.js +++ b/app/js/services.js @@ -28,6 +28,13 @@ angular.module('myApp.services', ['ngResource']) } }); }; + service.getAll = function() { + return $http.get('/api/sprints', { + params: { + limit: 100 + } + }) + } service.newBugUrl = function (whiteboard, defaultComponent) { var link = 'https://bugzilla.redhat.com/enter_bug.cgi?status_whiteboard=' + encodeURIComponent(whiteboard); @@ -54,6 +61,20 @@ angular.module('myApp.services', ['ngResource']) .success(cb); }; }; + service.deleteSprint = function(id,cb) { + $http + .put('/api/sprint/' + id, { + deletion: true + }) + .success(function (data){ + $http + .get('/api/sprints') + .success(function(data) { + service.sprints = data; + $rootScope.$broadcast('sprintRefresh', service.sprints); + }); + }); + }; return service; } ]) diff --git a/app/views/delete.html b/app/views/delete.html new file mode 100644 index 0000000..7eb5300 --- /dev/null +++ b/app/views/delete.html @@ -0,0 +1,24 @@ +
+
+

Delete sprints

+
+
+ +
+ + + + + + + + + + + + + + +
TitleDate CompletedDelete Action
{{ sprint.title }}{{ sprint.dueDate | date: 'MMM d, y' }}
+ +
diff --git a/server/db/sprint.js b/server/db/sprint.js index 38d70f5..8407e2f 100644 --- a/server/db/sprint.js +++ b/server/db/sprint.js @@ -28,6 +28,10 @@ module.exports = function(sequelize, t) { archived: { type: t.BOOLEAN, default: 0 + }, + deletion: { + type: t.BOOLEAN, + default: 0 } }); }; diff --git a/server/routes/dbController.js b/server/routes/dbController.js index 4e1cdb8..788d547 100644 --- a/server/routes/dbController.js +++ b/server/routes/dbController.js @@ -7,6 +7,7 @@ module.exports = function(db) { var archivedStatus = req.query.archived || null; var limit = req.query.limit || 30; var order = req.query.order || 'dueDate'; + var deleted = null ; if(archivedStatus !== null) { db.sprint @@ -24,6 +25,7 @@ module.exports = function(db) { db.sprint .findAll({ limit: limit, + where: { deletion: deleted }, order: order }) .success(function(data) {