summaryrefslogtreecommitdiffstats
path: root/client/components/sidebar
diff options
context:
space:
mode:
authorMaxime Quandalle <maxime@quandalle.com>2015-12-08 19:51:34 -0500
committerMaxime Quandalle <maxime@quandalle.com>2015-12-08 19:51:34 -0500
commitf9a60616df625ea71386442de512fbfb43602d09 (patch)
tree07a01706d6f8abba1ee7aeb393c991db28ef3b15 /client/components/sidebar
parentb719968df5577af6dd69eb32f6c2e2a43a322e87 (diff)
parent672c21bfe043c557c059086561113a6a1dfefb42 (diff)
downloadwekan-f9a60616df625ea71386442de512fbfb43602d09.tar.gz
wekan-f9a60616df625ea71386442de512fbfb43602d09.tar.bz2
wekan-f9a60616df625ea71386442de512fbfb43602d09.zip
Merge pull request #426 from floatinghotpot/patch-8
bugfix: only care active members, also optimize some code
Diffstat (limited to 'client/components/sidebar')
-rw-r--r--client/components/sidebar/sidebar.js12
-rw-r--r--client/components/sidebar/sidebarFilters.jade46
2 files changed, 26 insertions, 32 deletions
diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js
index 5b58dbd9..ec3ebcf6 100644
--- a/client/components/sidebar/sidebar.js
+++ b/client/components/sidebar/sidebar.js
@@ -279,7 +279,7 @@ BlazeComponent.extendComponent({
'click .js-select-member'() {
const userId = this.currentData()._id;
const currentBoard = Boards.findOne(Session.get('currentBoard'));
- if (currentBoard.memberIndex(userId)<0) {
+ if (!currentBoard.hasMember(userId)) {
this.inviteUser(userId);
}
},
@@ -305,16 +305,12 @@ Template.changePermissionsPopup.events({
Template.changePermissionsPopup.helpers({
isAdmin() {
- const user = Users.findOne(this.userId);
- return user.isBoardAdmin();
+ const currentBoard = Boards.findOne(Session.get('currentBoard'));
+ return currentBoard.hasAdmin(this.userId);
},
isLastAdmin() {
- const user = Users.findOne(this.userId);
- if (!user.isBoardAdmin())
- return false;
const currentBoard = Boards.findOne(Session.get('currentBoard'));
- const nbAdmins = _.where(currentBoard.members, { isAdmin: true }).length;
- return nbAdmins === 1;
+ return currentBoard.hasAdmin(this.userId) && (currentBoard.activeAdmins() === 1);
},
});
diff --git a/client/components/sidebar/sidebarFilters.jade b/client/components/sidebar/sidebarFilters.jade
index ef26ef76..0e935e3f 100644
--- a/client/components/sidebar/sidebarFilters.jade
+++ b/client/components/sidebar/sidebarFilters.jade
@@ -18,17 +18,16 @@ template(name="filterSidebar")
i.fa.fa-check
hr
ul.sidebar-list
- each currentBoard.members
- if isActive
- with getUser userId
- li(class="{{#if Filter.members.isSelected _id}}active{{/if}}")
- a.name.js-toggle-member-filter
- +userAvatar(userId=this._id)
- span.sidebar-list-item-description
- = profile.fullname
- | (<span class="username">{{ username }}</span>)
- if Filter.members.isSelected _id
- i.fa.fa-check
+ each currentBoard.activeMembers
+ with getUser userId
+ li(class="{{#if Filter.members.isSelected _id}}active{{/if}}")
+ a.name.js-toggle-member-filter
+ +userAvatar(userId=this._id)
+ span.sidebar-list-item-description
+ = profile.fullname
+ | (<span class="username">{{ username }}</span>)
+ if Filter.members.isSelected _id
+ i.fa.fa-check
if Filter.isActive
hr
a.sidebar-btn.js-clear-all
@@ -55,19 +54,18 @@ template(name="multiselectionSidebar")
i.fa.fa-ellipsis-h
hr
ul.sidebar-list
- each currentBoard.members
- if isActive
- with getUser userId
- li(class="{{#if Filter.members.isSelected _id}}active{{/if}}")
- a.name.js-toggle-member-multiselection
- +userAvatar(userId=this._id)
- span.sidebar-list-item-description
- = profile.fullname
- | (<span class="username">{{ username }}</span>)
- if allSelectedElementHave 'member' _id
- i.fa.fa-check
- else if someSelectedElementHave 'member' _id
- i.fa.fa-ellipsis-h
+ each currentBoard.activeMembers
+ with getUser userId
+ li(class="{{#if Filter.members.isSelected _id}}active{{/if}}")
+ a.name.js-toggle-member-multiselection
+ +userAvatar(userId=this._id)
+ span.sidebar-list-item-description
+ = profile.fullname
+ | (<span class="username">{{ username }}</span>)
+ if allSelectedElementHave 'member' _id
+ i.fa.fa-check
+ else if someSelectedElementHave 'member' _id
+ i.fa.fa-ellipsis-h
hr
a.sidebar-btn.js-archive-selection
i.fa.fa-archive