Merge branch 'develop' into hairlessbear-show_group_leader
This commit is contained in:
@@ -832,13 +832,18 @@ questStart = function(req, res, next) {
|
||||
updates['$set']['party.quest.progress.collect'] = collected;
|
||||
updates['$set']['party.quest.completed'] = null;
|
||||
questMembers[m] = true;
|
||||
|
||||
User.findOne({_id: m}, {pushDevices: 1}, function(err, user){
|
||||
pushNotify.sendNotify(user, "HabitRPG", shared.i18n.t('questStarted') + ": "+ quest.text() );
|
||||
});
|
||||
} else {
|
||||
updates['$set']['party.quest'] = Group.cleanQuestProgress();
|
||||
}
|
||||
|
||||
parallel.push(function(cb2){
|
||||
User.update({_id:m},updates,cb2);
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
group.quest.active = true;
|
||||
if (quest.boss) {
|
||||
@@ -914,10 +919,6 @@ api.questAccept = function(req, res, next) {
|
||||
group.quest.leader = user._id;
|
||||
} else {
|
||||
group.quest.members[m] = undefined;
|
||||
|
||||
User.findById(m, function(err,groupMember){
|
||||
pushNotify.sendNotify(groupMember, shared.i18n.t('questInvitationTitle'), shared.i18n.t('questInvitationInfo', { quest: quest.text() }));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -925,7 +926,7 @@ api.questAccept = function(req, res, next) {
|
||||
_id: {
|
||||
$in: _.without(group.members, user._id)
|
||||
}
|
||||
}, {auth: 1, preferences: 1, profile: 1}, function(err, members){
|
||||
}, {auth: 1, preferences: 1, profile: 1, pushDevices: 1}, function(err, members){
|
||||
if(err) return next(err);
|
||||
|
||||
var inviterVars = utils.getUserInfo(user, ['name', 'email']);
|
||||
@@ -941,6 +942,10 @@ api.questAccept = function(req, res, next) {
|
||||
{name: 'PARTY_URL', content: '/#/options/groups/party'}
|
||||
]);
|
||||
|
||||
_.each(members, function(groupMember){
|
||||
pushNotify.sendNotify(groupMember, shared.i18n.t('questInvitationTitle'), shared.i18n.t('questInvitationInfo', { quest: quest.text() }));
|
||||
});
|
||||
|
||||
questStart(req,res,next);
|
||||
});
|
||||
|
||||
|
||||
+1
-1
@@ -127,7 +127,7 @@ var getUserLanguage = function(req, res, next){
|
||||
}else if(req.locals && req.locals.user){
|
||||
getFromUser(req.locals.user);
|
||||
}else if(req.session && req.session.userId){
|
||||
User.findOne({_id: req.session.userId}, function(err, user){
|
||||
User.findOne({_id: req.session.userId}, 'preferences.language', function(err, user){
|
||||
if(err) return next(err);
|
||||
getFromUser(user);
|
||||
});
|
||||
|
||||
@@ -34,7 +34,8 @@ var UserSchema = new Schema({
|
||||
originalUser: Boolean,
|
||||
helpedHabit: Boolean, //TODO: Deprecate this. Superseded by habitSurveys
|
||||
habitSurveys: Number,
|
||||
ultimateGear: Boolean,
|
||||
ultimateGear: Boolean, //TODO: Deprecate this. Superseded by ultimateGearSets
|
||||
ultimateGearSets: Schema.Types.Mixed,
|
||||
beastMaster: Boolean,
|
||||
beastMasterCount: Number,
|
||||
mountMaster: Boolean,
|
||||
@@ -156,7 +157,10 @@ var UserSchema = new Schema({
|
||||
lastWeeklyRecap: {type: Date, 'default': Date.now},
|
||||
communityGuidelinesAccepted: {type: Boolean, 'default': false},
|
||||
cronCount: {type:Number, 'default':0},
|
||||
welcomed: {type: Boolean, 'default': false}
|
||||
welcomed: {type: Boolean, 'default': false},
|
||||
armoireEnabled: {type: Boolean, 'default': false},
|
||||
armoireOpened: {type: Boolean, 'default': false},
|
||||
armoireEmpty: {type: Boolean, 'default': false}
|
||||
},
|
||||
history: {
|
||||
exp: Array, // [{date: Date, value: Number}], // big peformance issues if these are defined
|
||||
@@ -321,6 +325,7 @@ var UserSchema = new Schema({
|
||||
advancedCollapsed: {type: Boolean, 'default': false},
|
||||
toolbarCollapsed: {type:Boolean, 'default':false},
|
||||
background: String,
|
||||
displayInviteToPartyWhenPartyIs1: { type:Boolean, 'default':true},
|
||||
webhooks: {type: Schema.Types.Mixed, 'default': {}},
|
||||
// For this fields make sure to use strict comparison when searching for falsey values (=== false)
|
||||
// As users who didn't login after these were introduced may have them undefined/null
|
||||
@@ -401,7 +406,7 @@ var UserSchema = new Schema({
|
||||
rewards: {type:[TaskSchemas.RewardSchema]},
|
||||
|
||||
extra: Schema.Types.Mixed,
|
||||
|
||||
|
||||
pushDevices: {type: [{
|
||||
regId: {type: String},
|
||||
type: {type: String}
|
||||
@@ -454,7 +459,9 @@ UserSchema.pre('save', function(next) {
|
||||
newTask.name = newTask.name(self.preferences.language);
|
||||
}else{
|
||||
newTask.text = newTask.text(self.preferences.language);
|
||||
newTask.notes = newTask.notes(self.preferences.language);
|
||||
if(newTask.notes) {
|
||||
newTask.notes = newTask.notes(self.preferences.language);
|
||||
}
|
||||
|
||||
if(newTask.checklist){
|
||||
newTask.checklist = _.map(newTask.checklist, function(checklistItem){
|
||||
|
||||
@@ -179,8 +179,11 @@ module.exports.setupConfig = function(){
|
||||
baseUrl = nconf.get('BASE_URL');
|
||||
|
||||
module.exports.ga = require('universal-analytics')(nconf.get('GA_ID'));
|
||||
var mixpanel = require('mixpanel')
|
||||
module.exports.mixpanel = mixpanel.init(nconf.get('MP_ID'));
|
||||
|
||||
var mixpanel = isProd && require('mixpanel');
|
||||
module.exports.mixpanel = mixpanel
|
||||
? mixpanel.init(nconf.get('MP_ID'))
|
||||
: { track: function() {} };
|
||||
};
|
||||
|
||||
var algorithm = 'aes-256-ctr';
|
||||
|
||||
Reference in New Issue
Block a user