sportsbet-mobile
Version:
Sportsbet mobile
120 lines (99 loc) • 3 kB
text/typescript
///<reference path=".#ts/client.d.ts"/>
interface Templates {
login: Template;
}
Template.login.onCreated(function() {
this.setVar('useGoogleAuth', '');
});
Template.login.helpers({
showGoogleAuth: function () {
return Session.get('showGoogleAuth');
}
});
Template.login.events({
'change #squaredOne': function () {
Session.set('showGoogleAuth', (Session.get('showGoogleAuth') ? false : true));
},
'submit form': function (e: MeteorTemplateEvent) {
e.preventDefault();
var $form = $(e.target);
var data = $form.serializeObject();
var errorContainer = $form.find('.generalError');
errorContainer.html('');
errorContainer.hide();
if (!data.otpCode && data.useGoogleAuth) {
errorContainer.append('<li>Please enter Google authenticator code</li>');
errorContainer.show();
$form.find('input[name="otpCode"]').anim('shake');
return;
}
Otp.loginWithPassword('sportsbet+' + data.username, data.password, data.otpCode == undefined ? '' : data.otpCode, function(err?) {
Session.set('loading', false);
if (err) {
googleSend({
'eventCategory': 'Login',
'eventAction': 'Login Error',
'pageEventArea': 'Main'
});
if (err.details == 'passwordRequired') {
errorContainer.append('<li>Your account has 2-step verification enabled. Please enter the Google Authenticator Code below.</li>');
errorContainer.show();
Session.set('showGoogleAuth', true);
$("[name='otpCode']").anim('shake');
return;
}
else if (err.details == 'wrongPassword') {
errorContainer.append('<li>Wrong Google Authenticator Code.</li>');
errorContainer.show();
Session.set('showGoogleAuth', true);
$("[name='otpCode']").anim('shake');
return;
}
else if (err.details == 'otpNotEnabled') {
errorContainer.append('<li>You do not have OTP enabled.</li>');
errorContainer.show();
Session.set('showGoogleAuth', false);
$("[name='otpCode']").val('');
return;
}
else if (err.details == 'userDisabled') {
errorContainer.append('<li>Account is closed.</li>');
errorContainer.show();
return;
}
else {
$form.anim('shake');
errorContainer.append('<li>Incorrect username or password</li>');
errorContainer.show();
return;
}
}
Session.set('betSlipError', false);
Meteor.call('Fraud/getDeviceInfo', (err, res) => {
if (err) {
return;
}
Meteor.call('Fraud/LoginLookup', res);
});
(<HTMLFormElement> $form[0]).reset();
Meteor.apply('customerIoEvent', ['login']);
googleSend({
'eventCategory': 'Login',
'eventAction': 'Logged In',
'pageEventArea': 'Main'
}, true);
});
},
'click .forgot-password': function() {
googleSend({
'eventCategory': 'Login',
'eventAction': 'Clicked Forgot Password',
'pageEventArea': 'Main'
});
googleSend({
'eventCategory': 'UP Recovery',
'eventAction': 'Started Password Recovery',
'pageEventArea': 'Main'
});
}
});