87 lines
2.5 KiB
JavaScript
87 lines
2.5 KiB
JavaScript
(function(context,$) {
|
|
|
|
"use strict";
|
|
|
|
context.JK = context.JK || {};
|
|
|
|
context.JK.SigninDialog = function(app) {
|
|
var logger = context.JK.logger;
|
|
var rest = context.JK.Rest();
|
|
var dialogId = '#signin-dialog';
|
|
|
|
function reset() {
|
|
$(dialogId + ' #signin-form').removeClass('login-error')
|
|
|
|
$(dialogId + ' input[name=email]').val('');
|
|
$(dialogId + ' input[name=password]').val('');
|
|
$(dialogId + ' input[name=remember_me]').attr('checked', 'checked')
|
|
}
|
|
|
|
function login() {
|
|
var email = $(dialogId + ' input[name=email]').val();
|
|
var password = $(dialogId + ' input[name=password]').val();
|
|
var rememberMe = $(dialogId + ' input[name=remember_me]').is(':checked')
|
|
|
|
rest.login({email: email, password: password, remember_me: rememberMe})
|
|
.done(function() {
|
|
app.layout.closeDialog('signin-dialog')
|
|
window.location = '/client'
|
|
})
|
|
.fail(function(jqXHR) {
|
|
if(jqXHR.status == 422) {
|
|
$(dialogId + ' #signin-form').addClass('login-error')
|
|
}
|
|
else {
|
|
app.notifyServerError(jqXHR, "Unable to log in")
|
|
}
|
|
})
|
|
}
|
|
|
|
function events() {
|
|
$(dialogId + ' .signin-cancel').click(function(e) {
|
|
app.layout.closeDialog('signin-dialog');
|
|
e.stopPropagation();
|
|
return false;
|
|
});
|
|
|
|
$(dialogId + ' #signin-form').submit(function(e) {
|
|
login();
|
|
return false;
|
|
});
|
|
|
|
$(dialogId + ' .signin-submit').click(function(e) {
|
|
login();
|
|
return false;
|
|
});
|
|
|
|
$(dialogId + ' .show-signup-dialog').click(function(e) {
|
|
app.layout.closeDialog('signin-dialog')
|
|
app.layout.showDialog('signup-dialog')
|
|
return false;
|
|
})
|
|
}
|
|
|
|
function beforeShow() {
|
|
reset();
|
|
}
|
|
|
|
function afterHide() {
|
|
|
|
}
|
|
|
|
function initialize(){
|
|
|
|
var dialogBindings = {
|
|
'beforeShow' : beforeShow,
|
|
'afterHide': afterHide
|
|
};
|
|
|
|
app.bindDialog('signin-dialog', dialogBindings);
|
|
|
|
events();
|
|
}
|
|
|
|
this.initialize = initialize;
|
|
|
|
}
|
|
})(window, jQuery); |