Files
BusinessMgr-2019/SaBusinessMgrCoreWebPortal/wwwroot/js/sbm-security.js
T
2021-07-11 16:09:42 +01:00

88 lines
3.5 KiB
JavaScript

/*
* Security page scripts.
*/
(function (win, doc, undef)
{
"use strict";
//--------------------------------------------------------------
sbm.doSignin = function ()
{
sbm.clearControlErrors();
sbm.ajaxSignin = sbm.ajaxSignin || { url: sbm.url.base + 'Security/Ajax/Signin', formId: 'frmSignIn', callbackFn: sbm.onSignin };
sbm.doAjaxRequest(sbm.ajaxSignin, 50);
}
sbm.onSignin = function (response)
{
sbm.refreshControlValues(response.controlValues,'#frmSignIn');
if (!response.success) return;
sbm.goToPage('');
}
//--------------------------------------------------------------
sbm.doScorePassword = function ()
{
sbm.ajaxScorePassword = sbm.ajaxScorePassword || { url: sbm.url.base + 'Security/Ajax/ScorePassword', formId: 'frmChangePassword', callbackFn: sbm.onScorePassword, noWaitIcon: true };
sbm.doAjaxRequest(sbm.ajaxScorePassword, 250);
}
sbm.onScorePassword = function (response)
{
var score = (response || {}).score || 0;
sbm.$prgPasswordStrength.progressbar("option", "value", score).removeClass('amber green').addClass(score > 3 ? 'green' : score > 2 ? 'amber' : '');
}
//--------------------------------------------------------------
sbm.doChangePassword = function ()
{
sbm.clearControlErrors();
sbm.ajaxChangePassword = sbm.ajaxChangePassword || { url: sbm.url.base + 'Security/Ajax/StorePassword', formId: 'frmChangePassword', callbackFn: sbm.onChangePassword };
sbm.doAjaxRequest(sbm.ajaxChangePassword, 50);
}
sbm.onChangePassword = function (response)
{
sbm.refreshControlValues(response.controlValues);
if (!response.success) return;
if ($('#ifRpe').length)
sbm.goToPage('Security/Signin');
else sbm.goToPage('');
}
//--------------------------------------------------------------
sbm.doRequestPassword = function ()
{
sbm.clearControlErrors();
sbm.ajaxRequestPassword = sbm.ajaxRequestPassword || { url: sbm.url.base + 'Security/Ajax/RequestPassword', formId: 'frmRequestPassword', callbackFn: sbm.onRequestPassword };
sbm.doAjaxRequest(sbm.ajaxRequestPassword, 50);
}
sbm.onRequestPassword = function (response)
{
sbm.refreshControlValues(response.controlValues);
if (!response.success) return;
var gotoSigninPage = function ()
{
sbm.goToPage('Security/Signin');
}
if (response.successMsg)
sbm.doAlert($('.sbm-page-caption').text(), response.successMsg, gotoSigninPage);
else gotoSigninPage();
}
//--------------------------------------------------------------
$(function ()
{
$(':input:enabled:visible:first').focus();
$('#ifEmailAddress,#ifPasswordCurrent,#ifPassword,#ifPasswordConfirm').on('input', function () { sbm.clearControlError(this); });
$('#frmChangePassword #ifPassword').on('keyup', sbm.doScorePassword);
sbm.$prgPasswordStrength = $('#frmChangePassword #prgPasswordStrength').progressbar({ 'max': 5 });
$('#ifEmailAddress,#ifPassword', $('#frmSignIn')).on('keypress', function (e) { if (e.which == 13) sbm.doSignin(); });
$('#frmSignIn #pbSignIn').on('click', function () { sbm.doSignin(); });
$('#ifPasswordCurrent,#ifPassword,#ifPasswordConfirm', $('#frmChangePassword')).on('keypress', function (e) { if (e.which == 13) sbm.doChangePassword(); });
$('#frmChangePassword #pbChangePassword').on('click', function () { sbm.doChangePassword(); });
$('#ifEmailAddress', $('#frmRequestPassword')).on('keypress', function (e) { if (e.which == 13) sbm.doRequestPassword(); });
$('#frmRequestPassword #pbRequestPassword').on('click', function () { sbm.doRequestPassword(); });
});
}(window, window.document));
/* The End */