|
|
@ -6,16 +6,16 @@ window.disable_signup = {{disable_signup and "true" or "false" }}; |
|
|
|
window.login = {}; |
|
|
|
|
|
|
|
window.verify = {}; |
|
|
|
args = {},capTotal=0,capRandomNum1=0,capRandomNum2=0; |
|
|
|
(!$('.loadingBlock').length)?$('body').append('<div class="loadingBlock" style="display:none"><div class="gear"></div></div>'):''; |
|
|
|
const rangeOfNumber =()=> { |
|
|
|
let capRandomNum = Math.ceil(Math.random()*10); |
|
|
|
args = {}, capTotal = 0, capRandomNum1 = 0, capRandomNum2 = 0; |
|
|
|
(!$('.loadingBlock').length) ? $('body').append('<div class="loadingBlock" style="display:none"><div class="gear"></div></div>') : ''; |
|
|
|
const rangeOfNumber = () => { |
|
|
|
let capRandomNum = Math.ceil(Math.random() * 10); |
|
|
|
if (capRandomNum.toString().length != 1) { |
|
|
|
capRandomNum = rangeOfNumber(); |
|
|
|
} |
|
|
|
return capRandomNum; |
|
|
|
} |
|
|
|
const captchaNumGen = ()=>{ |
|
|
|
const captchaNumGen = () => { |
|
|
|
capRandomNum1 = rangeOfNumber(); |
|
|
|
capRandomNum2 = rangeOfNumber(); |
|
|
|
$("#capRandomNum1").text(capRandomNum1); |
|
|
@ -27,25 +27,25 @@ login.bind_events = function () { |
|
|
|
$(window).on("hashchange", function () { |
|
|
|
login.route(); |
|
|
|
}); |
|
|
|
args.txtCaptcha=0; |
|
|
|
let isSubmit=0; |
|
|
|
args.txtCaptcha = 0; |
|
|
|
let isSubmit = 0; |
|
|
|
|
|
|
|
$(".form-login").on("submit", function (event) { |
|
|
|
event.preventDefault(); |
|
|
|
if(isSubmit===1){ return false;} |
|
|
|
if (isSubmit === 1) { return false; } |
|
|
|
$("button").css("cursor", "not-allowed"); |
|
|
|
$("body").css("cursor", "not-allowed"); |
|
|
|
login.set_status('{{ _("Connecting to Mahindra DMS...") }}', 'blue'); |
|
|
|
login.set_status('{{ _("Connecting to Mahindra...") }}', 'blue'); |
|
|
|
|
|
|
|
// $('.loadingBlock').show();
|
|
|
|
$('.login-captcha-refresh').css('z-index', '-1'); |
|
|
|
$('.toggle-password').css('z-index', '-1'); |
|
|
|
args.cmd = "login"; |
|
|
|
args.usr = frappe.utils.xss_sanitise(($("#login_email").val() || "").trim()); |
|
|
|
|
|
|
|
|
|
|
|
let getPass = $("#login_password").val(); |
|
|
|
let getCaptcha = Number($("#login_captcha").val()); |
|
|
|
if(capTotal!==getCaptcha){ |
|
|
|
if (capTotal !== getCaptcha) { |
|
|
|
frappe.msgprint('{{ _("Please enter valid Captcha") }}'); |
|
|
|
$("button").css("cursor", "pointer"); |
|
|
|
$("body").css("cursor", "default"); |
|
|
@ -58,86 +58,90 @@ login.bind_events = function () { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const parseXmlToJson = (xml)=>{ |
|
|
|
const json = {}; |
|
|
|
for (const res of xml.matchAll(/(?:<(\w*)(?:\s[^>]*)*>)((?:(?!<\1).)*)(?:<\/\1>)|<(\w*)(?:\s*)*\/>/gm)) { |
|
|
|
const key = res[1] || res[3]; |
|
|
|
const value = res[2] && parseXmlToJson(res[2]); |
|
|
|
json[key] = ((value && Object.keys(value).length) ? value : res[2]) || null; |
|
|
|
} |
|
|
|
return json; |
|
|
|
} |
|
|
|
isSubmit=1; |
|
|
|
(async () => { |
|
|
|
const rawResponse = await fetch("http://www.mahindramile.com/WindowAuth/Service.asmx/ValidateCredential?LoginID="+args.usr+"&Password="+btoa(getPass)); |
|
|
|
const resStr = await rawResponse.text(); |
|
|
|
login.set_status('{{ _("Verifying...") }}', 'blue'); |
|
|
|
if(resStr){ |
|
|
|
const parseJson = parseXmlToJson(resStr); |
|
|
|
if(parseJson){ |
|
|
|
if(parseJson.IsSuccessfull=='1'){ |
|
|
|
let user = $("#login_email").val(); |
|
|
|
var username = user + "@mahindra.com" |
|
|
|
args.pwd = $("#login_password").val(); |
|
|
|
if(user){ |
|
|
|
frappe.call({ |
|
|
|
method: "smart_service.www.login.create_user", |
|
|
|
args: {'login':user, |
|
|
|
}, |
|
|
|
callback: function(r){ |
|
|
|
let usr = $("#login_email").val(); |
|
|
|
frappe.call({ |
|
|
|
method: "smart_service.www.login.update_password_mahindra", |
|
|
|
args: {'user':username, |
|
|
|
'pwd':args.pwd |
|
|
|
}, |
|
|
|
callback: function(r){ |
|
|
|
args.pwd = args.pwd; |
|
|
|
args.device = "desktop"; |
|
|
|
login.call(args); |
|
|
|
isSubmit=0; |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
const parseXmlToJson = (xml) => { |
|
|
|
const json = {}; |
|
|
|
for (const res of xml.matchAll(/(?:<(\w*)(?:\s[^>]*)*>)((?:(?!<\1).)*)(?:<\/\1>)|<(\w*)(?:\s*)*\/>/gm)) { |
|
|
|
const key = res[1] || res[3]; |
|
|
|
const value = res[2] && parseXmlToJson(res[2]); |
|
|
|
json[key] = ((value && Object.keys(value).length) ? value : res[2]) || null; |
|
|
|
} |
|
|
|
return json; |
|
|
|
} |
|
|
|
isSubmit = 1; |
|
|
|
(async () => { |
|
|
|
const rawResponse = await fetch("http://www.mahindramile.com/WindowAuth/Service.asmx/ValidateCredential?LoginID=" + args.usr + "&Password=" + btoa(getPass)); |
|
|
|
const resStr = await rawResponse.text(); |
|
|
|
login.set_status('{{ _("Verifying...") }}', 'blue'); |
|
|
|
if (resStr) { |
|
|
|
const parseJson = parseXmlToJson(resStr); |
|
|
|
if (parseJson) { |
|
|
|
if (parseJson.IsSuccessfull == '1') { |
|
|
|
let user = $("#login_email").val(); |
|
|
|
var username = user + "@mahindra.com" |
|
|
|
args.pwd = $("#login_password").val(); |
|
|
|
if (user) { |
|
|
|
frappe.call({ |
|
|
|
method: "smart_service.www.login.create_user", |
|
|
|
args: { |
|
|
|
'login': user, |
|
|
|
}, |
|
|
|
callback: function (r) { |
|
|
|
let usr = $("#login_email").val(); |
|
|
|
frappe.call({ |
|
|
|
method: "smart_service.www.login.update_password_mahindra", |
|
|
|
args: { |
|
|
|
'user': username, |
|
|
|
'pwd': args.pwd |
|
|
|
}, |
|
|
|
callback: function (r) { |
|
|
|
args.pwd = args.pwd; |
|
|
|
args.device = "desktop"; |
|
|
|
login.call(args); |
|
|
|
isSubmit = 0; |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
} else { |
|
|
|
frappe.call({ |
|
|
|
method: "smart_service.www.login.update_password_mahindra", |
|
|
|
args: { |
|
|
|
'user': username, |
|
|
|
'pwd': args.pwd |
|
|
|
}, |
|
|
|
callback: function (r) { |
|
|
|
args.pwd = args.pwd; |
|
|
|
args.device = "desktop"; |
|
|
|
login.call(args); |
|
|
|
isSubmit = 0; |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
args.pwd = getPass; |
|
|
|
args.device = "desktop"; |
|
|
|
login.call(args); |
|
|
|
isSubmit = 0; |
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
}else{ |
|
|
|
frappe.call({ |
|
|
|
method: "smart_service.www.login.update_password_mahindra", |
|
|
|
args: {'user':username, |
|
|
|
'pwd':args.pwd |
|
|
|
}, |
|
|
|
callback: function(r){ |
|
|
|
args.pwd = args.pwd; |
|
|
|
args.device = "desktop"; |
|
|
|
login.call(args); |
|
|
|
isSubmit=0; |
|
|
|
|
|
|
|
} |
|
|
|
})} |
|
|
|
|
|
|
|
}else{ |
|
|
|
args.pwd=getPass; |
|
|
|
args.device = "desktop"; |
|
|
|
login.call(args); |
|
|
|
isSubmit=0; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
$("button").css("cursor", "pointer"); |
|
|
|
$("body").css("cursor", "default"); |
|
|
|
$('.login-captcha-refresh').css('z-index', '2'); |
|
|
|
$('.toggle-password').css('z-index', '2'); |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("button").css("cursor", "pointer"); |
|
|
|
$("body").css("cursor", "default"); |
|
|
|
$('.login-captcha-refresh').css('z-index', '2'); |
|
|
|
$('.toggle-password').css('z-index', '2'); |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
$(".form-signup").on("submit", function (event) { |
|
|
@ -318,7 +322,7 @@ login.login_handlers = (function () { |
|
|
|
login.set_status("{{ _('Success') }}", 'green'); |
|
|
|
if (localStorage) { |
|
|
|
var last_visited = |
|
|
|
|
|
|
|
|
|
|
|
localStorage.getItem("last_visited") |
|
|
|
|| frappe.utils.sanitise_redirect(frappe.utils.get_url_arg("redirect-to")); |
|
|
|
localStorage.removeItem("last_visited"); |
|
|
@ -371,16 +375,22 @@ login.login_handlers = (function () { |
|
|
|
}, |
|
|
|
401: function (data) { |
|
|
|
let usr = $("#login_email").val(); |
|
|
|
if (usr){ |
|
|
|
if (usr) { |
|
|
|
frappe.call({ |
|
|
|
method: "smart_service.www.login.login_user", |
|
|
|
args: {'login':usr, |
|
|
|
args: { |
|
|
|
'login': usr, |
|
|
|
}, |
|
|
|
callback: function(r){ |
|
|
|
if(r.message != 'None'){ |
|
|
|
login.set_status('{{ _("User Disabled. Please Contact Admin.") }}', 'red'); |
|
|
|
callback: function (r) { |
|
|
|
if (r.message != 'None') { |
|
|
|
// login.set_status('{{ _("User Disabled. Please Contact Admin.") }}', 'red');
|
|
|
|
login.set_status('{{ _("User Created.") }}', 'green'); |
|
|
|
frappe.show_alert({ |
|
|
|
message:__('Please wait for administrator approval.'), |
|
|
|
indicator:'yellow' |
|
|
|
}, 10); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
login.set_status('{{ _("Invalid Login. Try again.") }}', 'red'); |
|
|
@ -388,10 +398,10 @@ login.login_handlers = (function () { |
|
|
|
$("#login_captcha").val(''); |
|
|
|
$('.login-captcha-refresh').css('z-index', '2'); |
|
|
|
$('.toggle-password').css('z-index', '2'); |
|
|
|
}, |
|
|
|
}, |
|
|
|
417: get_error_handler('{{ _("Oops! Something went wrong") }}') |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
return login_handlers; |
|
|
|
})(); |
|
|
|
|
|
|
|