diff --git a/migrations/20131022_purchased_and_newStuff.js b/migrations/20131022_purchased_and_newStuff.js new file mode 100644 index 0000000000..862d9e107f --- /dev/null +++ b/migrations/20131022_purchased_and_newStuff.js @@ -0,0 +1,5 @@ +db.users.find().forEach(function(user){ + if (!user.purchased) user.purchased = {hair: {}, skin: {}}; + user.purchased.ads = user.flags && !!user.flags.ads; + db.users.update({_id:user._id}, {$set:{'purchased': user.purchased, 'flags.newStuff': true}, $unset: {'flags.ads':1}}); +}); \ No newline at end of file diff --git a/migrations/new_stuff.js b/migrations/new_stuff.js index fa517671a6..df2d59e795 100644 --- a/migrations/new_stuff.js +++ b/migrations/new_stuff.js @@ -1 +1 @@ -db.users.update({},{$set:{'flags.newStuff':'show'}},{multi:true}) \ No newline at end of file +db.users.update({},{$set:{'flags.newStuff':true}},{multi:true}) \ No newline at end of file diff --git a/public/js/controllers/footerCtrl.js b/public/js/controllers/footerCtrl.js index 7a31b9532c..3757f3cffb 100644 --- a/public/js/controllers/footerCtrl.js +++ b/public/js/controllers/footerCtrl.js @@ -14,7 +14,7 @@ habitrpg.controller("FooterCtrl", ['$scope', '$rootScope', 'User', '$http', $.getScript('//checkout.stripe.com/v2/checkout.js'); // Amazon Affiliate -// if ($rootScope.authenticated() && User.user.flags.ads !== 'hide') { +// if ($rootScope.authenticated() && !User.user.purchased.ads) { // $.getScript('//wms.assoc-amazon.com/20070822/US/js/link-enhancer-common.js?tag=ha0d2-20').fail(function() { // $('body').append(''); // }); diff --git a/src/controllers/user.js b/src/controllers/user.js index c98fdd845d..ecd75a3d28 100644 --- a/src/controllers/user.js +++ b/src/controllers/user.js @@ -627,7 +627,7 @@ api.buyGems = function(req, res) { }, function(response, cb) { res.locals.user.balance += 5; - res.locals.user.flags.ads = 'hide'; + res.locals.user.purchased.ads = true; res.locals.user.save(cb); } ], function(err, saved){ @@ -652,7 +652,7 @@ api.buyGemsPaypalIPN = function(req, res) { if (err) throw err; if (_.isEmpty(user)) throw "user not found with uuid " + uuid + " when completing paypal transaction" user.balance += 5; - user.flags.ads = 'hide'; + user.purchased.ads = true; user.save(); console.log('PayPal transaction completed and user updated'); }); diff --git a/src/models/user.js b/src/models/user.js index d5f4725170..587bcf22d1 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -78,10 +78,9 @@ var UserSchema = new Schema({ flags: { customizationsNotification: {type: Boolean, 'default': false}, showTour: {type: Boolean, 'default': true}, - ads: {type: String, 'default': 'show'}, // FIXME make this a boolean, run migration dropsEnabled: {type: Boolean, 'default': false}, itemsEnabled: {type: Boolean, 'default': false}, - newStuff: {type: String, 'default': 'hide'}, //FIXME to boolean (currently show/hide) + newStuff: {type: Boolean, 'default': false}, rewrite: {type: Boolean, 'default': true}, partyEnabled: Boolean, // FIXME do we need this? petsEnabled: {type: Boolean, 'default': false}, diff --git a/views/tasks/ads.jade b/views/tasks/ads.jade index f86d0bb5f6..1622a3cb74 100644 --- a/views/tasks/ads.jade +++ b/views/tasks/ads.jade @@ -1,4 +1,4 @@ -div(ng-if='authenticated() && user.flags.ads!="hide"') +div(ng-if='authenticated() && !user.purchased.ads') span.pull-right(ng-if='list.type!="reward"') a(ng-click='modals.buyGems=true', tooltip='Remove Ads') i.icon-remove