mirror of
https://github.com/wekan/wekan.git
synced 2026-02-16 21:18:06 +01:00
[Admin panel] Add a parameter to display or not the visibility of a board in private mode only
This commit is contained in:
parent
8e142dfdcf
commit
9bb1425a81
74 changed files with 355 additions and 74 deletions
73
models/tableVisibilityModeSettings.js
Normal file
73
models/tableVisibilityModeSettings.js
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
TableVisibilityModeSettings = new Mongo.Collection('tableVisibilityModeSettings');
|
||||
|
||||
TableVisibilityModeSettings.attachSchema(
|
||||
new SimpleSchema({
|
||||
_id: {
|
||||
type: String,
|
||||
},
|
||||
booleanValue: {
|
||||
type: Boolean,
|
||||
optional: true,
|
||||
},
|
||||
sort: {
|
||||
type: Number,
|
||||
decimal: true,
|
||||
},
|
||||
createdAt: {
|
||||
type: Date,
|
||||
optional: true,
|
||||
// eslint-disable-next-line consistent-return
|
||||
autoValue() {
|
||||
if (this.isInsert) {
|
||||
return new Date();
|
||||
} else if (this.isUpsert) {
|
||||
return { $setOnInsert: new Date() };
|
||||
} else {
|
||||
this.unset();
|
||||
}
|
||||
},
|
||||
},
|
||||
modifiedAt: {
|
||||
type: Date,
|
||||
denyUpdate: false,
|
||||
// eslint-disable-next-line consistent-return
|
||||
autoValue() {
|
||||
if (this.isInsert || this.isUpsert || this.isUpdate) {
|
||||
return new Date();
|
||||
} else {
|
||||
this.unset();
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
TableVisibilityModeSettings.allow({
|
||||
update(userId) {
|
||||
const user = Users.findOne(userId);
|
||||
return user && user.isAdmin;
|
||||
},
|
||||
});
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Meteor.startup(() => {
|
||||
TableVisibilityModeSettings._collection._ensureIndex({ modifiedAt: -1 });
|
||||
TableVisibilityModeSettings.upsert(
|
||||
{ _id: 'tableVisibilityMode-allowPrivateOnly' },
|
||||
{
|
||||
$setOnInsert: {
|
||||
booleanValue: false,
|
||||
sort: 0,
|
||||
},
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
TableVisibilityModeSettings.helpers({
|
||||
allowPrivateOnly() {
|
||||
return TableVisibilityModeSettings.findOne('tableVisibilityMode-allowPrivateOnly').booleanValue;
|
||||
},
|
||||
});
|
||||
|
||||
export default TableVisibilityModeSettings;
|
||||
Loading…
Add table
Add a link
Reference in a new issue