This commit is contained in:
Julius Haertl
2016-07-28 23:37:38 +02:00
parent 43023aa9d3
commit d61dcdb614
19 changed files with 220 additions and 57 deletions

View File

@@ -79,6 +79,8 @@ app.config(["$provide", "$routeProvider", "$interpolateProvider", "$httpProvider
.state('board.sharing', {
});
}]);
app.run(["$document", "$rootScope", "$transitions", function ($document, $rootScope, $transitions) {
'use strict';
@@ -203,14 +205,16 @@ app.controller('BoardController', ["$rootScope", "$scope", "$stateParams", "Stat
LabelService.update(label);
}
$scope.addSharee = function(sharee) {
$scope.addAcl = function(sharee) {
sharee.boardId = $scope.id;
BoardService.addSharee(sharee);
BoardService.addAcl(sharee);
$scope.status.addSharee = null;
}
$scope.deleteAcl = function(acl) {
acl.boardId = $scope.id;
BoardService.removeAcl(acl);
BoardService.deleteAcl(acl.id);
}
$scope.updateAcl = function(acl) {
BoardService.updateAcl(acl);
}
// TODO: move to filter?
// Lighten Color of the board for background usage
@@ -675,28 +679,59 @@ app.factory('BoardService', ["ApiService", "$http", "$q", function(ApiService, $
this.sharees = [];
$http.get(url).then(function (response) {
self.sharees = response.data;
console.log(self.sharees);
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error while update ' + self.endpoint);
});
return deferred.promise;
}
};
BoardService.prototype.addSharee = function(sharee) {
BoardService.prototype.addAcl = function(acl) {
var board = this.getCurrent();
board.acl.push(sharee);
var deferred = $q.defer();
var self = this;
$http.post(this.baseUrl + '/sharee', sharee).then(function (response) {
console.log("Add sharee " + response);
var _acl = acl;
$http.post(this.baseUrl + '/acl', _acl).then(function (response) {
if(!board.acl) {
board.acl = {};
}
board.acl[response.data.id] = response.data;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error while insert ' + self.endpoint);
deferred.reject('Error creating ACL ' + _acl);
});
sharee = null;
acl = null;
return deferred.promise;
}
};
BoardService.prototype.deleteAcl = function(id) {
var board = this.getCurrent();
var deferred = $q.defer();
var self = this;
$http.delete(this.baseUrl + '/acl/' + id).then(function (response) {
delete board.acl[response.data.id];
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error deleting ACL ' + id);
});
acl = null;
return deferred.promise;
};
BoardService.prototype.updateAcl = function(acl) {
var board = this.getCurrent();
var deferred = $q.defer();
var self = this;
var _acl = acl;
$http.put(this.baseUrl + '/acl', _acl).then(function (response) {
board.acl[_acl.id] = response.data;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error updating ACL ' + _acl);
});
acl = null;
return deferred.promise;
};
service = new BoardService($http, 'boards', $q)
return service;