mirror of
https://github.com/wekan/wekan.git
synced 2026-02-11 18:54:22 +01:00
bugfix: only care active members, also optimize some code
This commit is contained in:
parent
b719968df5
commit
672c21bfe0
9 changed files with 62 additions and 78 deletions
|
|
@ -94,7 +94,7 @@ template(name="moveCardPopup")
|
|||
|
||||
template(name="cardMembersPopup")
|
||||
ul.pop-over-list.js-card-member-list
|
||||
each board.members
|
||||
each board.activeMembers
|
||||
li.item(class="{{#if isCardMember}}active{{/if}}")
|
||||
a.name.js-select-member(href="#")
|
||||
+userAvatar(userId=user._id)
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ BlazeComponent.extendComponent({
|
|||
match: /\B@(\w*)$/,
|
||||
search(term, callback) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
callback($.map(currentBoard.members, (member) => {
|
||||
callback($.map(currentBoard.activeMembers(), (member) => {
|
||||
const user = Users.findOne(member.userId);
|
||||
return user.username.indexOf(term) === 0 ? user : null;
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ Template.editor.onRendered(() => {
|
|||
match: /\B@(\w*)$/,
|
||||
search(term, callback) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
callback(currentBoard.members.map((member) => {
|
||||
callback(currentBoard.activeMembers().map((member) => {
|
||||
const username = Users.findOne(member.userId).username;
|
||||
return username.includes(term) ? username : null;
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue