summaryrefslogtreecommitdiffstats
path: root/models/users.js
diff options
context:
space:
mode:
Diffstat (limited to 'models/users.js')
-rw-r--r--models/users.js64
1 files changed, 45 insertions, 19 deletions
diff --git a/models/users.js b/models/users.js
index 976e5068..7c5d2855 100644
--- a/models/users.js
+++ b/models/users.js
@@ -95,7 +95,7 @@ Users.attachSchema(
autoValue() {
if (this.isInsert && !this.isSet) {
return {
- boardView: 'board-view-lists',
+ boardView: 'board-view-swimlanes',
};
}
},
@@ -128,6 +128,13 @@ Users.attachSchema(
type: Boolean,
optional: true,
},
+ 'profile.hideCheckedItems': {
+ /**
+ * does the user want to hide checked checklist items?
+ */
+ type: Boolean,
+ optional: true,
+ },
'profile.hiddenSystemMessages': {
/**
* does the user want to hide system messages?
@@ -218,8 +225,8 @@ Users.attachSchema(
type: String,
optional: true,
allowedValues: [
- 'board-view-lists',
'board-view-swimlanes',
+ 'board-view-lists',
'board-view-cal',
],
},
@@ -483,6 +490,11 @@ Users.helpers({
return profile.showDesktopDragHandles || false;
},
+ hasHideCheckedItems() {
+ const profile = this.profile || {};
+ return profile.hideCheckedItems || false;
+ },
+
hasHiddenSystemMessages() {
const profile = this.profile || {};
return profile.hiddenSystemMessages || false;
@@ -612,6 +624,15 @@ Users.mutations({
};
},
+ toggleHideCheckedItems() {
+ const value = this.hasHideCheckedItems();
+ return {
+ $set: {
+ 'profile.hideCheckedItems': !value,
+ },
+ };
+ },
+
toggleSystem(value = false) {
return {
$set: {
@@ -690,6 +711,10 @@ Meteor.methods({
const user = Meteor.user();
user.toggleDesktopHandles(user.hasShowDesktopDragHandles());
},
+ toggleHideCheckedItems() {
+ const user = Meteor.user();
+ user.toggleHideCheckedItems();
+ },
toggleSystemMessages() {
const user = Meteor.user();
user.toggleSystem(user.hasHiddenSystemMessages());
@@ -903,7 +928,7 @@ if (Meteor.isServer) {
user.profile = {
initials,
fullname: user.services.oidc.fullname,
- boardView: 'board-view-lists',
+ boardView: 'board-view-swimlanes',
};
user.authenticationMethod = 'oauth2';
@@ -921,7 +946,8 @@ if (Meteor.isServer) {
existingUser.profile = user.profile;
existingUser.authenticationMethod = user.authenticationMethod;
- Meteor.users.remove({ _id: existingUser._id }); // remove existing record
+ Meteor.users.remove({ _id: user._id });
+ Meteor.users.remove({ _id: existingUser._id }); // is going to be created again
return existingUser;
}
@@ -961,7 +987,7 @@ if (Meteor.isServer) {
);
} else {
user.profile = { icode: options.profile.invitationcode };
- user.profile.boardView = 'board-view-lists';
+ user.profile.boardView = 'board-view-swimlanes';
// Deletes the invitation code after the user was created successfully.
setTimeout(
@@ -1109,10 +1135,10 @@ if (Meteor.isServer) {
});
*/
- const Future = require('fibers/future');
- let future1 = new Future();
- let future2 = new Future();
- let future3 = new Future();
+ const Future = require('fibers/future');
+ let future1 = new Future();
+ let future2 = new Future();
+ let future3 = new Future();
Boards.insert(
{
title: TAPi18n.__('templates'),
@@ -1140,7 +1166,7 @@ if (Meteor.isServer) {
Users.update(fakeUserId.get(), {
$set: { 'profile.cardTemplatesSwimlaneId': swimlaneId },
});
- future1.return();
+ future1.return();
},
);
@@ -1158,7 +1184,7 @@ if (Meteor.isServer) {
Users.update(fakeUserId.get(), {
$set: { 'profile.listTemplatesSwimlaneId': swimlaneId },
});
- future2.return();
+ future2.return();
},
);
@@ -1176,22 +1202,22 @@ if (Meteor.isServer) {
Users.update(fakeUserId.get(), {
$set: { 'profile.boardTemplatesSwimlaneId': swimlaneId },
});
- future3.return();
+ future3.return();
},
);
},
);
- // HACK
- future1.wait();
- future2.wait();
- future3.wait();
+ // HACK
+ future1.wait();
+ future2.wait();
+ future3.wait();
});
});
}
- Users.after.insert((userId, doc) => {
- // HACK
- doc = Users.findOne({_id: doc._id});
+ Users.after.insert((userId, doc) => {
+ // HACK
+ doc = Users.findOne({ _id: doc._id });
if (doc.createdThroughApi) {
// The admin user should be able to create a user despite disabling registration because
// it is two different things (registration and creation).