mirror of
https://github.com/wekan/wekan.git
synced 2025-04-22 04:57:07 -04:00
Merge branch 'master' of https://github.com/Emile840/wekan into Emile840-master
This commit is contained in:
commit
ef0e4e36f4
7 changed files with 105 additions and 54 deletions
|
@ -86,58 +86,42 @@ BlazeComponent.extendComponent({
|
|||
});
|
||||
},
|
||||
userHasTeams(){
|
||||
if(Meteor.user().teams)
|
||||
{
|
||||
if(Meteor.user().teams && Meteor.user().teams.length > 0)
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
else
|
||||
return false;
|
||||
}
|
||||
},
|
||||
teamsDatas() {
|
||||
if(Meteor.user().teams)
|
||||
{
|
||||
return Meteor.user().teams;
|
||||
}
|
||||
else{
|
||||
else
|
||||
return [];
|
||||
}
|
||||
},
|
||||
userHasOrgs(){
|
||||
if(Meteor.user().orgs)
|
||||
{
|
||||
if(Meteor.user().orgs && Meteor.user().orgs.length > 0)
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
else
|
||||
return false;
|
||||
}
|
||||
},
|
||||
orgsDatas() {
|
||||
if(Meteor.user().orgs)
|
||||
{
|
||||
return Meteor.user().orgs;
|
||||
}
|
||||
else{
|
||||
else
|
||||
return [];
|
||||
}
|
||||
},
|
||||
userHasOrgsOrTeams(){
|
||||
let boolUserHasOrgs;
|
||||
if(Meteor.user().orgs)
|
||||
{
|
||||
if(Meteor.user().orgs && Meteor.user().orgs.length > 0)
|
||||
boolUserHasOrgs = true;
|
||||
}
|
||||
else{
|
||||
else
|
||||
boolUserHasOrgs = false;
|
||||
}
|
||||
|
||||
let boolUserHasTeams;
|
||||
if(Meteor.user().teams)
|
||||
{
|
||||
if(Meteor.user().teams && Meteor.user().teams.length > 0)
|
||||
boolUserHasTeams = true;
|
||||
}
|
||||
else{
|
||||
else
|
||||
boolUserHasTeams = false;
|
||||
}
|
||||
|
||||
return (boolUserHasOrgs || boolUserHasTeams);
|
||||
},
|
||||
boards() {
|
||||
|
@ -156,6 +140,7 @@ BlazeComponent.extendComponent({
|
|||
|
||||
if (FlowRouter.getRouteName() === 'home'){
|
||||
query.$and[2].$or.push({'members.userId': Meteor.userId()});
|
||||
|
||||
if(allowPrivateVisibilityOnly !== undefined && allowPrivateVisibilityOnly.booleanValue){
|
||||
query.$and.push({'permission': 'private'});
|
||||
}
|
||||
|
|
|
@ -31,26 +31,28 @@ template(name='homeSidebar')
|
|||
+activities(mode="board")
|
||||
|
||||
template(name="membersWidget")
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
| {{_ 'organizations'}}
|
||||
if AtLeastOneOrgWasCreated
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
| {{_ 'organizations'}}
|
||||
|
||||
.board-widget-content
|
||||
+boardOrgGeneral
|
||||
.clearfix
|
||||
br
|
||||
hr
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
| {{_ 'teams'}}
|
||||
.board-widget-content
|
||||
+boardOrgGeneral
|
||||
.clearfix
|
||||
br
|
||||
hr
|
||||
if AtLeastOneTeamWasCreated
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
| {{_ 'teams'}}
|
||||
|
||||
.board-widget-content
|
||||
+boardTeamGeneral
|
||||
.clearfix
|
||||
br
|
||||
hr
|
||||
.board-widget-content
|
||||
+boardTeamGeneral
|
||||
.clearfix
|
||||
br
|
||||
hr
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
|
|
|
@ -183,6 +183,7 @@ Template.memberPopup.helpers({
|
|||
},
|
||||
});
|
||||
|
||||
|
||||
Template.boardMenuPopup.events({
|
||||
'click .js-rename-board': Popup.open('boardChangeTitle'),
|
||||
'click .js-open-rules-view'() {
|
||||
|
@ -290,6 +291,42 @@ Template.leaveBoardPopup.helpers({
|
|||
return Boards.findOne(Session.get('currentBoard'));
|
||||
},
|
||||
});
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
this.findTeamsOptions = new ReactiveVar({});
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.teamPage = new ReactiveVar(1);
|
||||
this.autorun(() => {
|
||||
const limitOrgs = this.page.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('org', this.findOrgsOptions.get(), limitOrgs, () => {});
|
||||
});
|
||||
|
||||
this.autorun(() => {
|
||||
const limitTeams = this.teamPage.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('team', this.findTeamsOptions.get(), limitTeams, () => {});
|
||||
});
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.setLoading(false);
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
this.error.set(error);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return this.loading.get();
|
||||
},
|
||||
}).register('membersWidget');
|
||||
|
||||
Template.membersWidget.helpers({
|
||||
isInvited() {
|
||||
|
@ -307,6 +344,21 @@ Template.membersWidget.helpers({
|
|||
isBoardAdmin() {
|
||||
return Meteor.user().isBoardAdmin();
|
||||
},
|
||||
AtLeastOneOrgWasCreated(){
|
||||
let orgs = Org.find({}, {sort: { createdAt: -1 }});
|
||||
if(orgs === undefined)
|
||||
return false;
|
||||
|
||||
return orgs.count() > 0;
|
||||
},
|
||||
|
||||
AtLeastOneTeamWasCreated(){
|
||||
let teams = Team.find({}, {sort: { createdAt: -1 }});
|
||||
if(teams === undefined)
|
||||
return false;
|
||||
|
||||
return teams.count() > 0;
|
||||
},
|
||||
});
|
||||
|
||||
Template.membersWidget.events({
|
||||
|
|
|
@ -49,10 +49,11 @@ template(name="memberMenuPopup")
|
|||
i.fa.fa-lock
|
||||
| {{_ 'admin-panel'}}
|
||||
hr
|
||||
li
|
||||
a.js-edit-profile
|
||||
i.fa.fa-user
|
||||
| {{_ 'edit-profile'}}
|
||||
if isNotOAuth2AuthenticationMethod
|
||||
li
|
||||
a.js-edit-profile
|
||||
i.fa.fa-user
|
||||
| {{_ 'edit-profile'}}
|
||||
li
|
||||
a.js-change-settings
|
||||
i.fa.fa-cog
|
||||
|
@ -62,10 +63,11 @@ template(name="memberMenuPopup")
|
|||
i.fa.fa-picture-o
|
||||
| {{_ 'edit-avatar'}}
|
||||
unless isSandstorm
|
||||
li
|
||||
a.js-change-password
|
||||
i.fa.fa-key
|
||||
| {{_ 'changePasswordPopup-title'}}
|
||||
if isNotOAuth2AuthenticationMethod
|
||||
li
|
||||
a.js-change-password
|
||||
i.fa.fa-key
|
||||
| {{_ 'changePasswordPopup-title'}}
|
||||
li
|
||||
a.js-change-language
|
||||
i.fa.fa-flag
|
||||
|
|
|
@ -22,6 +22,14 @@ Template.memberMenuPopup.helpers({
|
|||
return false;
|
||||
}
|
||||
},
|
||||
isNotOAuth2AuthenticationMethod(){
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return currentUser.authenticationMethod != 'OAuth2';
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Template.memberMenuPopup.events({
|
||||
|
|
|
@ -445,6 +445,7 @@ Users.safeFields = {
|
|||
'profile.initials': 1,
|
||||
orgs: 1,
|
||||
teams: 1,
|
||||
authenticationMethod: 1,
|
||||
};
|
||||
|
||||
if (Meteor.isClient) {
|
||||
|
|
|
@ -25,6 +25,7 @@ Meteor.publish('user-admin', function() {
|
|||
isAdmin: 1,
|
||||
teams: 1,
|
||||
orgs: 1,
|
||||
authenticationMethod: 1,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue