diff --git a/js/controller/ListController.js b/js/controller/ListController.js index 3afb64c5e..2a5ff6708 100644 --- a/js/controller/ListController.js +++ b/js/controller/ListController.js @@ -21,25 +21,32 @@ * */ -app.controller('ListController', function ($scope, $location, $filter, BoardService) { +app.controller('ListController', function ($scope, $location, $filter, BoardService, $element) { $scope.boards = []; $scope.newBoard = {}; $scope.status = {}; $scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD']; - $scope.boardservice = BoardService; - BoardService.fetchAll().then(function(data) { - $scope.filterData(); - }, function (error) { - - }); // TODO: show error when loading fails + // FIXME: not nice, but we want to load this only once + if($element.attr('id') === 'app-navigation') { + BoardService.fetchAll().then(function(data) { + $scope.filterData(); + }, function (error) { + // TODO: show error when loading fails + }); + } + + $scope.filterData = function () { + angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted); + $scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title'); + }; $scope.selectColor = function(color) { $scope.newBoard.color = color; }; - $scope.boardCreate = function () { + $scope.boardCreate = function() { if(!$scope.newBoard.title || !$scope.newBoard.color) { $scope.status.addBoard=false; return; @@ -53,28 +60,19 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ $scope.status.createBoard = 'Unable to insert board: ' + error.message; }); }; + $scope.boardUpdate = function(board) { BoardService.update(board).then(function(data) { $scope.filterData(); }); board.status.edit = false; }; + $scope.boardDelete = function(board) { - // TODO: Ask for confirmation - //if (confirm('Are you sure you want to delete this?')) { BoardService.delete(board.id).then(function (data) { $scope.filterData(); }); - //} }; - $scope.filterData = function () { - angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted); - $scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title'); - }; - - - - }); diff --git a/js/public/app.js b/js/public/app.js index fa2319481..0d0c0387a 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -400,25 +400,32 @@ app.controller('CardController', ["$scope", "$rootScope", "$routeParams", "$loca }]); -app.controller('ListController', ["$scope", "$location", "$filter", "BoardService", function ($scope, $location, $filter, BoardService) { +app.controller('ListController', ["$scope", "$location", "$filter", "BoardService", "$element", function ($scope, $location, $filter, BoardService, $element) { $scope.boards = []; $scope.newBoard = {}; $scope.status = {}; $scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD']; - $scope.boardservice = BoardService; - BoardService.fetchAll().then(function(data) { - $scope.filterData(); - }, function (error) { - - }); // TODO: show error when loading fails + // FIXME: not nice, but we want to load this only once + if($element.attr('id') === 'app-navigation') { + BoardService.fetchAll().then(function(data) { + $scope.filterData(); + }, function (error) { + // TODO: show error when loading fails + }); + } + + $scope.filterData = function () { + angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted); + $scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title'); + }; $scope.selectColor = function(color) { $scope.newBoard.color = color; }; - $scope.boardCreate = function () { + $scope.boardCreate = function() { if(!$scope.newBoard.title || !$scope.newBoard.color) { $scope.status.addBoard=false; return; @@ -432,29 +439,20 @@ app.controller('ListController', ["$scope", "$location", "$filter", "BoardServic $scope.status.createBoard = 'Unable to insert board: ' + error.message; }); }; + $scope.boardUpdate = function(board) { BoardService.update(board).then(function(data) { $scope.filterData(); }); board.status.edit = false; }; + $scope.boardDelete = function(board) { - // TODO: Ask for confirmation - //if (confirm('Are you sure you want to delete this?')) { BoardService.delete(board.id).then(function (data) { $scope.filterData(); }); - //} }; - $scope.filterData = function () { - angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted); - $scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title'); - }; - - - - }]); diff --git a/lib/Db/CardMapper.php b/lib/Db/CardMapper.php index cff37c459..b559b1ee4 100644 --- a/lib/Db/CardMapper.php +++ b/lib/Db/CardMapper.php @@ -29,7 +29,7 @@ use OCP\AppFramework\Db\Mapper; -class CardMapper extends Mapper implements IPermissionMapper { +class CardMapper extends DeckMapper implements IPermissionMapper { private $labelMapper; diff --git a/lib/Db/DeckMapper.php b/lib/Db/DeckMapper.php index 6ad9ef749..4c99f45d2 100644 --- a/lib/Db/DeckMapper.php +++ b/lib/Db/DeckMapper.php @@ -51,7 +51,7 @@ abstract class DeckMapper extends Mapper { protected function execute($sql, array $params = [], $limit = null, $offset = null) { // FIXME: remove on release - \OCP\Util::writeLog('deck', "DeckMapper SQL: " . $sql, \OCP\Util::DEBUG); + \OCP\Util::writeLog('deck', "DeckMapper SQL: " . $sql . " with " . implode("|", $params), \OCP\Util::DEBUG); return parent::execute($sql, $params, $limit, $offset); } diff --git a/lib/Db/StackMapper.php b/lib/Db/StackMapper.php index adc5a9665..86bd14a7b 100644 --- a/lib/Db/StackMapper.php +++ b/lib/Db/StackMapper.php @@ -28,7 +28,7 @@ use OCP\IDb; use OCP\AppFramework\Db\Mapper; -class StackMapper extends Mapper implements IPermissionMapper { +class StackMapper extends DeckMapper implements IPermissionMapper { private $cardMapper;