Merge branch 'develop' into add-flag-to-chat
This commit is contained in:
+20
-24
@@ -18,38 +18,34 @@ CouponSchema.statics.generate = function(event, count, callback) {
|
||||
}
|
||||
|
||||
CouponSchema.statics.apply = function(user, code, next){
|
||||
var _coupon,_user;
|
||||
async.waterfall([
|
||||
function(cb) {
|
||||
async.auto({
|
||||
get_coupon: function (cb) {
|
||||
mongoose.model('Coupon').findById(cc.validate(code), cb);
|
||||
},
|
||||
function(coupon, cb) {
|
||||
_coupon = coupon;
|
||||
if (!coupon) return cb("Invalid coupon code");
|
||||
if (coupon.user) return cb("Coupon already used");
|
||||
switch (coupon.event) {
|
||||
apply_coupon: ['get_coupon', function (cb, results) {
|
||||
if (!results.get_coupon) return cb("Invalid coupon code");
|
||||
if (results.get_coupon.user) return cb("Coupon already used");
|
||||
switch (results.get_coupon.event) {
|
||||
case 'wondercon':
|
||||
user.items.gear.owned.eyewear_special_wondercon_red = true;
|
||||
user.items.gear.owned.eyewear_special_wondercon_black = true;
|
||||
user.items.gear.owned.back_special_wondercon_black = true;
|
||||
user.items.gear.owned.back_special_wondercon_red = true;
|
||||
user.items.gear.owned.body_special_wondercon_red = true;
|
||||
user.items.gear.owned.body_special_wondercon_black = true;
|
||||
user.items.gear.owned.body_special_wondercon_gold = true;
|
||||
user.items.gear.owned.eyewear_special_wondercon_red = true;
|
||||
user.items.gear.owned.eyewear_special_wondercon_black = true;
|
||||
user.items.gear.owned.back_special_wondercon_black = true;
|
||||
user.items.gear.owned.back_special_wondercon_red = true;
|
||||
user.items.gear.owned.body_special_wondercon_red = true;
|
||||
user.items.gear.owned.body_special_wondercon_black = true;
|
||||
user.items.gear.owned.body_special_wondercon_gold = true;
|
||||
user.extra = {signupEvent: 'wondercon'};
|
||||
user.save(cb);
|
||||
break;
|
||||
}
|
||||
},
|
||||
function(user, count, cb){
|
||||
_user = user;
|
||||
_coupon.user = user._id;
|
||||
_coupon.save(cb);
|
||||
}
|
||||
], function(err){
|
||||
}],
|
||||
expire_coupon: ['apply_coupon', function (cb, results) {
|
||||
results.get_coupon.user = user._id;
|
||||
results.get_coupon.save(cb);
|
||||
}]
|
||||
}, function(err, results){
|
||||
if (err) return next(err);
|
||||
next(null,_user);
|
||||
_coupon = _user = null;
|
||||
next(null,results.apply_coupon[0]);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user