Merge branch 'develop' into hairlessbear-show_group_leader

This commit is contained in:
Blade Barringer
2015-06-10 17:51:45 -05:00
278 changed files with 12170 additions and 9956 deletions
+11 -6
View File
@@ -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
View File
@@ -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);
});
+11 -4
View File
@@ -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){
+5 -2
View File
@@ -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';