Fix board ordering on rename
This commit is contained in:
@@ -189,7 +189,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
|||||||
$scope.status.addSharee = null;
|
$scope.status.addSharee = null;
|
||||||
}
|
}
|
||||||
$scope.aclDelete = function(acl) {
|
$scope.aclDelete = function(acl) {
|
||||||
BoardService.deleteAcl(acl.id);
|
BoardService.deleteAcl(acl);
|
||||||
}
|
}
|
||||||
$scope.aclUpdate = function(acl) {
|
$scope.aclUpdate = function(acl) {
|
||||||
BoardService.updateAcl(acl);
|
BoardService.updateAcl(acl);
|
||||||
|
|||||||
@@ -21,15 +21,19 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
app.controller('ListController', function ($scope, $location, BoardService) {
|
app.controller('ListController', function ($scope, $location, $filter, BoardService) {
|
||||||
$scope.boards = null;
|
$scope.boards = [];
|
||||||
$scope.newBoard = {};
|
$scope.newBoard = {};
|
||||||
$scope.status = {};
|
$scope.status = {};
|
||||||
$scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD'];
|
$scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD'];
|
||||||
|
|
||||||
$scope.boardservice = BoardService;
|
$scope.boardservice = BoardService;
|
||||||
|
|
||||||
BoardService.fetchAll(); // TODO: show error when loading fails
|
BoardService.fetchAll().then(function(data) {
|
||||||
|
$scope.filterData();
|
||||||
|
}, function (error) {
|
||||||
|
|
||||||
|
}); // TODO: show error when loading fails
|
||||||
|
|
||||||
$scope.selectColor = function(color) {
|
$scope.selectColor = function(color) {
|
||||||
$scope.newBoard.color = color;
|
$scope.newBoard.color = color;
|
||||||
@@ -40,21 +44,33 @@ app.controller('ListController', function ($scope, $location, BoardService) {
|
|||||||
.then(function (response) {
|
.then(function (response) {
|
||||||
$scope.newBoard = {};
|
$scope.newBoard = {};
|
||||||
$scope.status.addBoard=false;
|
$scope.status.addBoard=false;
|
||||||
|
$scope.filterData();
|
||||||
}, function(error) {
|
}, function(error) {
|
||||||
$scope.status.createBoard = 'Unable to insert board: ' + error.message;
|
$scope.status.createBoard = 'Unable to insert board: ' + error.message;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
$scope.boardUpdate = function(board) {
|
$scope.boardUpdate = function(board) {
|
||||||
BoardService.update(board);
|
BoardService.update(board).then(function(data) {
|
||||||
|
$scope.filterData();
|
||||||
|
});
|
||||||
board.status.edit = false;
|
board.status.edit = false;
|
||||||
};
|
};
|
||||||
$scope.boardDelete = function(board) {
|
$scope.boardDelete = function(board) {
|
||||||
// TODO: Ask for confirmation
|
// TODO: Ask for confirmation
|
||||||
//if (confirm('Are you sure you want to delete this?')) {
|
//if (confirm('Are you sure you want to delete this?')) {
|
||||||
BoardService.delete(board.id);
|
BoardService.delete(board.id).then(function (data) {
|
||||||
|
$scope.filterData();
|
||||||
|
});
|
||||||
//}
|
//}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$scope.filterData = function () {
|
||||||
|
console.log("filter");
|
||||||
|
angular.copy($scope.boardservice.getData(), $scope.boards);
|
||||||
|
$scope.boards = $filter('orderBy')($scope.boards, 'title');
|
||||||
|
console.log($scope.boards);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,4 @@
|
|||||||
|
|
||||||
/*
|
|
||||||
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
|
|
||||||
*
|
|
||||||
* @author Julius Härtl <jus@bitgrid.net>
|
|
||||||
*
|
|
||||||
* @license GNU AGPL version 3 or any later version
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as
|
|
||||||
* published by the Free Software Foundation, either version 3 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
angular.module('markdown', [])
|
angular.module('markdown', [])
|
||||||
.provider('markdown', [function () {
|
.provider('markdown', [function () {
|
||||||
var opts = {};
|
var opts = {};
|
||||||
@@ -308,7 +286,7 @@ app.controller('BoardController', ["$rootScope", "$scope", "$stateParams", "Stat
|
|||||||
$scope.status.addSharee = null;
|
$scope.status.addSharee = null;
|
||||||
}
|
}
|
||||||
$scope.aclDelete = function(acl) {
|
$scope.aclDelete = function(acl) {
|
||||||
BoardService.deleteAcl(acl.id);
|
BoardService.deleteAcl(acl);
|
||||||
}
|
}
|
||||||
$scope.aclUpdate = function(acl) {
|
$scope.aclUpdate = function(acl) {
|
||||||
BoardService.updateAcl(acl);
|
BoardService.updateAcl(acl);
|
||||||
@@ -364,8 +342,6 @@ app.controller('BoardController', ["$rootScope", "$scope", "$stateParams", "Stat
|
|||||||
|
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app.controller('CardController', ["$scope", "$rootScope", "$routeParams", "$location", "$stateParams", "BoardService", "CardService", "StackService", "StatusService", function ($scope, $rootScope, $routeParams, $location, $stateParams, BoardService, CardService, StackService, StatusService) {
|
app.controller('CardController', ["$scope", "$rootScope", "$routeParams", "$location", "$stateParams", "BoardService", "CardService", "StackService", "StatusService", function ($scope, $rootScope, $routeParams, $location, $stateParams, BoardService, CardService, StackService, StatusService) {
|
||||||
$scope.sidebar = $rootScope.sidebar;
|
$scope.sidebar = $rootScope.sidebar;
|
||||||
$scope.status = {};
|
$scope.status = {};
|
||||||
@@ -423,16 +399,19 @@ app.controller('CardController', ["$scope", "$rootScope", "$routeParams", "$loca
|
|||||||
|
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
|
app.controller('ListController', ["$scope", "$location", "$filter", "BoardService", function ($scope, $location, $filter, BoardService) {
|
||||||
app.controller('ListController', ["$scope", "$location", "BoardService", function ($scope, $location, BoardService) {
|
$scope.boards = [];
|
||||||
$scope.boards = null;
|
|
||||||
$scope.newBoard = {};
|
$scope.newBoard = {};
|
||||||
$scope.status = {};
|
$scope.status = {};
|
||||||
$scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD'];
|
$scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD'];
|
||||||
|
|
||||||
$scope.boardservice = BoardService;
|
$scope.boardservice = BoardService;
|
||||||
|
|
||||||
BoardService.fetchAll(); // TODO: show error when loading fails
|
BoardService.fetchAll().then(function(data) {
|
||||||
|
$scope.filterData();
|
||||||
|
}, function (error) {
|
||||||
|
|
||||||
|
}); // TODO: show error when loading fails
|
||||||
|
|
||||||
$scope.selectColor = function(color) {
|
$scope.selectColor = function(color) {
|
||||||
$scope.newBoard.color = color;
|
$scope.newBoard.color = color;
|
||||||
@@ -443,21 +422,33 @@ app.controller('ListController', ["$scope", "$location", "BoardService", functio
|
|||||||
.then(function (response) {
|
.then(function (response) {
|
||||||
$scope.newBoard = {};
|
$scope.newBoard = {};
|
||||||
$scope.status.addBoard=false;
|
$scope.status.addBoard=false;
|
||||||
|
$scope.filterData();
|
||||||
}, function(error) {
|
}, function(error) {
|
||||||
$scope.status.createBoard = 'Unable to insert board: ' + error.message;
|
$scope.status.createBoard = 'Unable to insert board: ' + error.message;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
$scope.boardUpdate = function(board) {
|
$scope.boardUpdate = function(board) {
|
||||||
BoardService.update(board);
|
BoardService.update(board).then(function(data) {
|
||||||
|
$scope.filterData();
|
||||||
|
});
|
||||||
board.status.edit = false;
|
board.status.edit = false;
|
||||||
};
|
};
|
||||||
$scope.boardDelete = function(board) {
|
$scope.boardDelete = function(board) {
|
||||||
// TODO: Ask for confirmation
|
// TODO: Ask for confirmation
|
||||||
//if (confirm('Are you sure you want to delete this?')) {
|
//if (confirm('Are you sure you want to delete this?')) {
|
||||||
BoardService.delete(board.id);
|
BoardService.delete(board.id).then(function (data) {
|
||||||
|
$scope.filterData();
|
||||||
|
});
|
||||||
//}
|
//}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$scope.filterData = function () {
|
||||||
|
console.log("filter");
|
||||||
|
angular.copy($scope.boardservice.getData(), $scope.boards);
|
||||||
|
$scope.boards = $filter('orderBy')($scope.boards, 'title');
|
||||||
|
console.log($scope.boards);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -908,7 +899,7 @@ app.factory('BoardService', ["ApiService", "$http", "$q", function(ApiService, $
|
|||||||
delete board.acl[response.data.id];
|
delete board.acl[response.data.id];
|
||||||
deferred.resolve(response.data);
|
deferred.resolve(response.data);
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
deferred.reject('Error deleting ACL ' + id);
|
deferred.reject('Error deleting ACL ' + acl.id);
|
||||||
});
|
});
|
||||||
acl = null;
|
acl = null;
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ app.factory('BoardService', function(ApiService, $http, $q){
|
|||||||
delete board.acl[response.data.id];
|
delete board.acl[response.data.id];
|
||||||
deferred.resolve(response.data);
|
deferred.resolve(response.data);
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
deferred.reject('Error deleting ACL ' + id);
|
deferred.reject('Error deleting ACL ' + acl.id);
|
||||||
});
|
});
|
||||||
acl = null;
|
acl = null;
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
|
|||||||
@@ -125,8 +125,8 @@ class BoardController extends Controller {
|
|||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @RequireManagePermission
|
* @RequireManagePermission
|
||||||
*/
|
*/
|
||||||
public function deleteAcl($id) {
|
public function deleteAcl($aclId) {
|
||||||
return $this->boardService->deleteAcl($id);
|
return $this->boardService->deleteAcl($aclId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -36,9 +36,9 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function findAll($boardId, $limit=null, $offset=null) {
|
public function findAll($boardId, $limit=null, $offset=null) {
|
||||||
$sql = 'SELECT id, board_id, type, participant, permission_write, permission_invite, permission_manage, 0 as owner FROM `*PREFIX*deck_board_acl` WHERE `board_id` = ? ' .
|
$sql = 'SELECT id, board_id, type, participant, permission_write, permission_invite, permission_manage FROM `*PREFIX*deck_board_acl` WHERE `board_id` = ? ';
|
||||||
'UNION SELECT 0, id, \'user\', owner, 1, 1, 1, 1 FROM `*PREFIX*deck_boards` WHERE `id` = ? ';
|
//'UNION SELECT 0, id, \'user\', owner, 1, 1, 1, 1 FROM `*PREFIX*deck_boards` WHERE `id` = ? ';
|
||||||
return $this->findEntities($sql, [$boardId, $boardId], $limit, $offset);
|
return $this->findEntities($sql, [$boardId], $limit, $offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function findAllShared($boardId) {
|
public function findAllShared($boardId) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<div id="boardlist">
|
<div id="boardlist">
|
||||||
<table width="100%">
|
<!--<table width="100%">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="cell-board-bullet"></td>
|
<td class="cell-board-bullet"></td>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr data-ng-repeat="b in boardservice.data"
|
<tr data-ng-repeat="b in boards"
|
||||||
ui-sref="board({boardId: b.id})">
|
ui-sref="board({boardId: b.id})">
|
||||||
<td>
|
<td>
|
||||||
<span class="board-bullet"
|
<span class="board-bullet"
|
||||||
@@ -50,5 +50,5 @@
|
|||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>//-->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<li><a href="#" class="icon-public">Public Boards</a></li>
|
<li><a href="#" class="icon-public">Public Boards</a></li>
|
||||||
//-->
|
//-->
|
||||||
|
|
||||||
<li class="with-icon with-menu" data-ng-repeat="b in boardservice.getData() | orderBy: ['shared', 'title']">
|
<li class="with-icon with-menu" data-ng-repeat="b in boards">
|
||||||
<span class="board-bullet" style="background-color:#{{b.color}};" ng-if="!b.status.edit"> </span>
|
<span class="board-bullet" style="background-color:#{{b.color}};" ng-if="!b.status.edit"> </span>
|
||||||
<a href="#/board/{{b.id}}/" ng-if="!b.status.edit">{{ b.title }}</a>
|
<a href="#/board/{{b.id}}/" ng-if="!b.status.edit">{{ b.title }}</a>
|
||||||
<div class="app-navigation-entry-utils" ng-show="!b.status.edit" style="position:absolute;">
|
<div class="app-navigation-entry-utils" ng-show="!b.status.edit" style="position:absolute;">
|
||||||
|
|||||||
Reference in New Issue
Block a user