summaryrefslogtreecommitdiffstats
path: root/collections
diff options
context:
space:
mode:
authorMaxime Quandalle <maxime@quandalle.com>2015-09-05 01:31:25 +0200
committerMaxime Quandalle <maxime@quandalle.com>2015-09-05 01:37:55 +0200
commit82b322777852b0f7b3f93295a0dbcc0c238bd20d (patch)
treecb75983a021909ac96f99bdb1448cd2ebee72b48 /collections
parent6a92963e2a79e2819b7492a0389c1c48a9467ba3 (diff)
downloadwekan-82b322777852b0f7b3f93295a0dbcc0c238bd20d.tar.gz
wekan-82b322777852b0f7b3f93295a0dbcc0c238bd20d.tar.bz2
wekan-82b322777852b0f7b3f93295a0dbcc0c238bd20d.zip
Fix member permission modification
Fixes #280
Diffstat (limited to 'collections')
-rw-r--r--collections/boards.js8
-rw-r--r--collections/users.js8
2 files changed, 14 insertions, 2 deletions
diff --git a/collections/boards.js b/collections/boards.js
index 8260fc3d..ddfa5016 100644
--- a/collections/boards.js
+++ b/collections/boards.js
@@ -123,16 +123,24 @@ Boards.helpers({
isPublic() {
return this.permission === 'public';
},
+
lists() {
return Lists.find({ boardId: this._id, archived: false },
{ sort: { sort: 1 }});
},
+
activities() {
return Activities.find({ boardId: this._id }, { sort: { createdAt: -1 }});
},
+
+ activeMembers() {
+ return _.where(this.members, {isActive: true});
+ },
+
absoluteUrl() {
return FlowRouter.path('board', { id: this._id, slug: this.slug });
},
+
colorClass() {
return `board-color-${this.color}`;
},
diff --git a/collections/users.js b/collections/users.js
index 276c9f9e..34a94605 100644
--- a/collections/users.js
+++ b/collections/users.js
@@ -12,23 +12,27 @@ Users.helpers({
boards() {
return Boards.find({ userId: this._id });
},
+
starredBoards() {
const starredBoardIds = this.profile.starredBoards || [];
return Boards.find({archived: false, _id: {$in: starredBoardIds}});
},
+
hasStarred(boardId) {
const starredBoardIds = this.profile.starredBoards || [];
return _.contains(starredBoardIds, boardId);
},
+
isBoardMember() {
const board = Boards.findOne(Session.get('currentBoard'));
return board && _.contains(_.pluck(board.members, 'userId'), this._id) &&
_.where(board.members, {userId: this._id})[0].isActive;
},
+
isBoardAdmin() {
const board = Boards.findOne(Session.get('currentBoard'));
- if (this.isBoardMember(board))
- return _.where(board.members, {userId: this._id})[0].isAdmin;
+ return board && this.isBoardMember(board) &&
+ _.where(board.members, {userId: this._id})[0].isAdmin;
},
getInitials() {