mirror of
https://github.com/wekan/wekan.git
synced 2025-04-22 04:57:07 -04:00
[Fix: Some users cannot switch views or languages](https://github.com/wekan/wekan/issues/2630).
Thanks to xet7 and justinr1234.
This commit is contained in:
parent
a31ece0974
commit
6e12e2fa59
1 changed files with 16 additions and 3 deletions
|
@ -257,10 +257,23 @@ Users.attachSchema(
|
|||
}),
|
||||
);
|
||||
|
||||
Users.before.update(function(userId, fieldNames) {
|
||||
const user = Users.findOne({ _id: userId });
|
||||
if (user && user.isAdmin || Meteor.user() && Meteor.user().isAdmin) { return true; }
|
||||
if (!user) { return false; }
|
||||
if (_.contains(fieldNames, 'services')) { return false; }
|
||||
if (_.contains(fieldNames, 'heartBeat')) { return false; }
|
||||
if (_.contains(fieldNames, 'isAdmin')) { return false; }
|
||||
if (_.contains(fieldNames, 'loginDisabled')) { return false; }
|
||||
if (_.contains(fieldNames, 'authenticationMethod')) { return false; }
|
||||
});
|
||||
|
||||
Users.allow({
|
||||
update(userId) {
|
||||
const user = Users.findOne(userId);
|
||||
return user && Meteor.user().isAdmin; // GitHub issue #2590
|
||||
update(userId, doc) {
|
||||
const user = Users.findOne({ _id: userId });
|
||||
if (user && user.isAdmin || Meteor.user() && Meteor.user().isAdmin) return true;
|
||||
if (!user) { return false; }
|
||||
return doc._id === userId;
|
||||
},
|
||||
remove(userId, doc) {
|
||||
const adminsNumber = Users.find({ isAdmin: true }).count();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue