cards soft delete wip
Signed-off-by: Manuel Arno Korfmann <manu@korfmann.info> cards: softdelete done; undo delete wip Signed-off-by: Manuel Arno Korfmann <manu@korfmann.info> show deleted cards in board settings sidebar wip Signed-off-by: Manuel Arno Korfmann <manu@korfmann.info> CardMapper#findDeleted: fix bug in entity property assigning Signed-off-by: Manuel Arno Korfmann <manu@korfmann.info>
This commit is contained in:
committed by
Julius Härtl
parent
3e4dedf397
commit
2ef4b55af4
@@ -42,6 +42,8 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
$scope.board = BoardService.getCurrent();
|
||||
$scope.uploader = FileService.uploader;
|
||||
|
||||
$scope.deletedCards = [];
|
||||
|
||||
// workaround for $stateParams changes not being propagated
|
||||
$scope.$watch(function() {
|
||||
return $state.params;
|
||||
@@ -136,6 +138,14 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
});
|
||||
};
|
||||
|
||||
$scope.loadDeletedCards = function() {
|
||||
CardService.fetchDeleted($scope.id).then(function (data) {
|
||||
$scope.deletedCards = data;
|
||||
}, function (error) {
|
||||
$scope.statusservice.setError('Error occured', error);
|
||||
});
|
||||
}
|
||||
|
||||
$scope.loadDefault = function () {
|
||||
StackService.fetchAll($scope.id).then(function (data) {
|
||||
$scope.statusservice.releaseWaiting();
|
||||
@@ -193,6 +203,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
}
|
||||
CardService.delete(card.id).then(function () {
|
||||
StackService.removeCard(card);
|
||||
$scope.loadDeletedCards();
|
||||
});
|
||||
});
|
||||
};
|
||||
@@ -384,4 +395,5 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
return card.attachmentCount;
|
||||
};
|
||||
|
||||
$scope.loadDeletedCards();
|
||||
});
|
||||
|
||||
@@ -114,6 +114,18 @@ app.factory('ApiService', function ($http, $q) {
|
||||
|
||||
};
|
||||
|
||||
ApiService.prototype.softDelete = function (id) {
|
||||
var deferred = $q.defer();
|
||||
var self = this;
|
||||
|
||||
$http.delete(this.baseUrl + '/' + id).then(function (response) {
|
||||
self.data[id].deletedAt = response.data.deletedAt;
|
||||
deferred.resolve(response.data);
|
||||
}, function (error) {
|
||||
deferred.reject('Deleting ' + self.endpoint + ' failed');
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
// methods for managing data
|
||||
ApiService.prototype.clear = function () {
|
||||
|
||||
@@ -27,6 +27,8 @@ app.factory('CardService', function (ApiService, $http, $q) {
|
||||
};
|
||||
CardService.prototype = angular.copy(ApiService.prototype);
|
||||
|
||||
CardService.prototype.delete = CardService.prototype.softDelete;
|
||||
|
||||
CardService.prototype.reorder = function (card, order) {
|
||||
var deferred = $q.defer();
|
||||
var self = this;
|
||||
@@ -172,6 +174,22 @@ app.factory('CardService', function (ApiService, $http, $q) {
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
CardService.prototype.fetchDeleted = function (boardId) {
|
||||
|
||||
var deferred = $q.defer();
|
||||
var self = this;
|
||||
$http.get(this.baseUrl + '/deleted/' + boardId).then(function (response) {
|
||||
var objects = response.data;
|
||||
return objects;
|
||||
deferred.resolve(self.data);
|
||||
}, function (error) {
|
||||
deferred.reject('Fetching ' + self.endpoint + ' failed');
|
||||
});
|
||||
return deferred.promise;
|
||||
|
||||
};
|
||||
|
||||
|
||||
var service = new CardService($http, 'cards', $q);
|
||||
return service;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user