mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 10:01:40 -05:00
move newsletter callback to server only; split users.setSetting method in method+mutator; always call mutator directly when on server
This commit is contained in:
parent
519e44fe84
commit
2dd3f3c7fa
5 changed files with 18 additions and 24 deletions
|
@ -1,4 +1,7 @@
|
|||
import MailChimpList from './mailchimp.js';
|
||||
|
||||
function subscribeUserOnProfileCompletion (user) {
|
||||
console.log(user)
|
||||
if (!!Telescope.settings.get('autoSubscribe') && !!Users.getEmail(user)) {
|
||||
MailChimpList.add(user, false, function (error, result) {
|
||||
console.log(error);
|
|
@ -132,7 +132,7 @@ MailChimpList.add = function(userOrEmail, confirm, done){
|
|||
|
||||
// mark user as subscribed
|
||||
if (!!user) {
|
||||
Users.setSetting(user, 'newsletter_subscribeToNewsletter', true);
|
||||
Users.methods.setSetting(user._id, 'newsletter_subscribeToNewsletter', true);
|
||||
}
|
||||
|
||||
console.log("// User subscribed");
|
||||
|
@ -175,7 +175,7 @@ MailChimpList.remove = (user) => {
|
|||
var subscribe = api.call('lists', 'unsubscribe', subscribeOptions);
|
||||
|
||||
// mark user as unsubscribed
|
||||
Users.setSetting(user, 'newsletter_subscribeToNewsletter', false);
|
||||
Users.methods.setSetting(user._id, 'newsletter_subscribeToNewsletter', false);
|
||||
|
||||
console.log("// User unsubscribed");
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@ Package.onUse(function (api) {
|
|||
api.addFiles([
|
||||
// 'package-tap.i18n',
|
||||
// 'lib/collection.js',
|
||||
'lib/callbacks.js',
|
||||
'lib/custom_fields.js',
|
||||
'lib/emails.js'
|
||||
], ['client', 'server']);
|
||||
|
@ -29,7 +28,8 @@ Package.onUse(function (api) {
|
|||
'lib/server/cron.js',
|
||||
'lib/server/emails.js',
|
||||
'lib/server/methods.js',
|
||||
'lib/server/mailchimp_api.js'
|
||||
'lib/server/mailchimp_api.js',
|
||||
'lib/server/callbacks.js'
|
||||
], ['server']);
|
||||
|
||||
api.mainModule('lib/server.js', 'server');
|
||||
|
|
|
@ -170,19 +170,6 @@ Users.getSetting = function (user, settingName, defaultValue) {
|
|||
};
|
||||
Users.helpers({getSetting: function (settingName, defaultValue) {return Users.getSetting(this, settingName, defaultValue);}});
|
||||
|
||||
/**
|
||||
* @summary Set a user setting
|
||||
* @param {Object} user
|
||||
* @param {String} settingName
|
||||
* @param {Object} defaultValue
|
||||
*/
|
||||
Users.setSetting = function (user, settingName, value) {
|
||||
if (user) {
|
||||
Meteor.call("users.setSetting", user._id, settingName, value);
|
||||
}
|
||||
};
|
||||
Users.helpers({setSetting: function () {return Users.setSetting(this);}});
|
||||
|
||||
/**
|
||||
* @summary Check if a user has upvoted a post
|
||||
* @param {Object} user
|
||||
|
|
|
@ -35,6 +35,16 @@ Users.methods.edit = (userId, modifier, user) => {
|
|||
|
||||
}
|
||||
|
||||
Users.methods.setSetting = (userId, settingName, value) => {
|
||||
// all settings should be in the user.telescope namespace, so add "telescope." if needed
|
||||
var field = settingName.slice(0,10) === "telescope." ? settingName : "telescope." + settingName;
|
||||
|
||||
var modifier = {$set: {}};
|
||||
modifier.$set[field] = value;
|
||||
|
||||
Users.update(userId, modifier);
|
||||
}
|
||||
|
||||
Meteor.methods({
|
||||
'users.compleProfile'(modifier, userId) {
|
||||
|
||||
|
@ -154,13 +164,7 @@ Meteor.methods({
|
|||
throw new Meteor.Error(601, __('sorry_you_cannot_edit_this_user'));
|
||||
}
|
||||
|
||||
// all settings should be in the user.telescope namespace, so add "telescope." if needed
|
||||
var field = settingName.slice(0,10) === "telescope." ? settingName : "telescope." + settingName;
|
||||
|
||||
var modifier = {$set: {}};
|
||||
modifier.$set[field] = value;
|
||||
|
||||
Users.update(userId, modifier);
|
||||
Users.methods.setSetting(userId, settingName, value);
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue