/*================================================================================================================\ + + Project : GoData-Eicher + Filename : dealerUserInventory.js + Module Name : DealerUserInventory + Purpose : For Dealer User Inventory + Coded By : Parul Gupta + +================================================================================================================*/ /** * For user management * @module UserManagement */ /** * This class contains functionality of add non-vecv(dealer) users. * @class NonVecvUserManagement * @constructor */ //Global variables var activeRequest, activeRequest_City, activeRequest_del, activeRequest_UserDetails, activeRequest_export, activeRequest_EditUserDetails; /** * Function to get non-vecv users list. * @method getDealerUserList * @for NonVecvUserManagement */ function getDealerUserList() { $.ajax({ type: "POST", url: "/UserInventory/ManageUserInventory_GetUserList/", data: { userType: "dealer" }, success: function (data) { //Bind html $("#divDealerUserList").html(data); }, error: function (data) { console.log(data); } }); } /** * Function to show non-vecv users details. * @method showUserDetails * @for NonVecvUserManagement */ function showUserDetails() { //function call on click of user list table's row $("#tableUserList tbody tr").click(function (e) { var userName, $this, objectId; $this = $(this); userName = e.currentTarget.id; objectId = document.getElementById(userName).getAttribute('data-objectId'); //Add button hide show $("#btnAdd").show(); // add selected class on selected row $('#tableUserList > tbody > tr').removeClass("SelectedRow"); $this.addClass("SelectedRow"); // ajax request to get non-vecv user detail if (activeRequest_UserDetails && activeRequest_UserDetails.readystate != 4) { activeRequest_UserDetails.abort(); } activeRequest_UserDetails = $.ajax({ type: "POST", url: "/UserInventory/ManageUserInventory_GetUserDetails/", data: { UserName: userName, ObjectId: objectId }, success: function (data) { $("#divDealerUserDetailPanel").html(''); $("#divDealerUserDetailPanel").html(data); if ($("#item_IsLocked").val() == "True") { $("#btnUnlockUser").show(); } else { $("#btnUnlockUser").hide(); //$("#btnUnlockUser").prop("disabled", true); } }, error: function (data) { console.log(data); } }); }); //Trigger click event on first row of non-vecv user list table $("#tableUserList tbody tr:first").trigger('click'); } /** * Function to add new non-vecv users. * @method addNonUserDealer * @for NonVecvUserManagement */ function addNonUserDealer() { //send ajax report to add non-vecv user $.ajax({ type: "Get", url: "/UserInventory/ManageDealerInventory_AddDealer/", success: function (data) { $("#divDealerUserDetailPanel").html(data); $("#btnAdd").hide(); }, error: function (data) { console.log(data); } }); } /** * Function to check if user already exist. * @method checkIfUsernameIsExist * @for NonVecvUserManagement */ function checkIfUsernameIsExist() { //function call on blur of user name text box $("#UserName").blur(function () { var _userName = $("#UserName").val(); if (_userName != "") { $.getJSON("/UserInventory/CheckUserIsExist/", { UserName: _userName }, function (data) { console.log(data); if (data.result == false) { //show validation message if username already exists $("#spanUserName").show(); $("#UserName").val('').focus(); } else { $("#spanUserName").hide(); } }); } }); } /** * Function to check if email id exist. * @method checkIfEmailidIsExist * @for NonVecvUserManagement */ function checkIfEmailidIsExist() { //function call on blur of user name text box $("#EmailId").blur(function () { var _emailId = $("#EmailId").val(); if (_emailId != "") { $.getJSON("/UserInventory/CheckEmailIsExist/", { EmailId: _emailId }, function (data) { console.log(data); if (data.result == false) { //show validation message if username already exists $("#spanEmail").show(); $("#EmailId").val('').focus(); } else { $("#spanEmail").hide(); } }); } }); } /** * Function to load city list state wise. * @method LoadCityList * @param {String} stateId selected state id * @for NonVecvUserManagement */ function LoadCityList(stateId) { var selectedState = $('#ddState').find('option:selected').text(); $("#stateName").val(selectedState); var stateVal; stateVal = $("#ddState").val(); if (stateVal != "-Select-") { stateVal = $("#ddState").val(); // empty City dropdown $("#ddCity").text(""); // by default add select text. $("#ddCity").append($('').val("").html("-Select-")); } else { stateVal = 0; } if (stateVal != "") { if (activeRequest_City && activeRequest_City.readystate != 4) { activeRequest_City.abort(); } activeRequest_City = $.ajax({ type: "GET", url: "/UserInventory/showCityStateWise/", data: { stateVal: stateVal }, success: function (data) { // empty City dropdown $("#ddCity").text(""); // by default add select text. $("#ddCity").append($('').val("").html("-Select-")); // add data to dropdown. if (data.list) { for (var counter = 0; counter < data.list.length; counter++) { $("#ddCity").append( $('').val(data.list[counter].Value).html(data.list[counter].Text)); } } }, error: function (data) { console.log(data); } }); } } /** * Function call onclick of cancel button. * @method btnCancelAddUser * @for NonVecvUserManagement */ function btnCancelAddUser() { if (document.getElementById('tableUserList')) { $("#tableUserList tbody tr.SelectedRow").trigger('click'); } else { $("#divDealerUserDetailPanel").html(""); $("#btnAdd").show(); } } /** * Function call onsuccess of add non-vecv user. * @method onSuccessAddDealer * @for NonVecvUserManagement */ function onSuccessAddDealer(data) { if (data.success == true) { //console.log("user added"); getDealerUserList(); //jAlert('User added successfully.', 'Message', function () { jAlert(USER_INVENTORY_MESSAGES.addUserSuccess, 'Message', function () { $("#tableUserList tbody tr[data-userName='" + data.userAuthId + "']").trigger('click'); }); } else { //jAlert('Add User failed !!' + data.message, 'Message'); jAlert(USER_INVENTORY_MESSAGES.addUserFailed + data.message, 'Message'); } } /** * Function to get organization id dealer wise(non-vecv user) * @method getOrganizationDealerWise * @for NonVecvUserManagement */ function getOrganizationDealerWise($this) { if (($("#ObjectId").data("kendoComboBox").value()) && ($("#ObjectId").data("kendoComboBox").selectedIndex) == -1) { jAlert('This Dealer does not exist!', 'Message'); $("#ObjectId").data("kendoComboBox").value(""); $("#ddOrganization").val(""); } else { var dealerId; dealerId = $("#ObjectId").val(); if (dealerId != "-Select-") { dealerId = $("#ObjectId").val(); } else { dealerId = 0; } if (dealerId != "") { $.ajax({ type: "GET", url: "/UserInventory/GetOrganizationDealerWise/", data: { dealerId: dealerId }, success: function (data) { // console.log(data); if (data.success == true) { if (data.listOrganization) { for (var counter = 0; counter < data.listOrganization.length; counter++) { // console.log(data.organizationId[counter]); $("#organizationName").val(data.listOrganization[counter].Id); $("#ddOrganization").val(data.listOrganization[counter].OrganizationName); } } $("#State").val(data.state); $("#stateName").val(data.state); $("#City").val(data.city); } }, error: function (data) { console.log(data); } }); } } } /** * Function used to on key up to search data from list. * @method initSearch * @param {String} keyCode Input key code. * @param {String} sValue text to be search. * @for NonVecvUserManagement */ function initSearch(keyCode, sValue) { var $rows = $('#tableUserList tbody tr'); var jThis; if (keyCode != 8 && keyCode != 46) { $rows.each(function () { jThis = $(this); if (jThis.is(':visible')) { var oLabel = jThis.find('label').text(); if (oLabel.length > 0) { if (oLabel.toLowerCase().indexOf(sValue.toLowerCase()) >= 0) { jThis.show(); } else { jThis.hide(); } } } }); } else { $rows.each(function () { jThis = $(this); var oLabel = jThis.find('label').text(); if (oLabel.length > 0) { if (oLabel.toLowerCase().indexOf(sValue.toLowerCase()) >= 0) { jThis.show(); } else { jThis.hide(); } } }); } } function deleteNonUserDealer() { var userName = $('#tableUserList > tbody > tr.SelectedRow')[0].id; var userOrganization = document.getElementById(userName).getAttribute('data-organizationId'); var userObjectId = document.getElementById(userName).getAttribute('data-objectid'); jConfirm("Are you sure that you want to delete '" + userName + "'?", 'Delete', function (result) { if (result) { var UserInventory = {}; UserInventory.UserName = userName; UserInventory.ObjectId = userObjectId; UserInventory.IsDeleted = true; UserInventory.OrganizationId = userOrganization; //send ajax report to add user $.ajax({ type: "POST", url: "/UserInventory/ManageDealerInventory_DeleteDealer/", data: UserInventory, success: function (data) { getDealerUserList(); jAlert("'" + userName + "' is deleted successfully.", 'Delete', function () { $("#tableUserList tbody tr:first").trigger('click'); }); }, error: function (data) { console.log(data); } }); } }); } /** * Close the kendo window. * @method closeWindow * @param divId : Id which we want to close kendowindo. * @for NonVecvUserManagement */ function closeWindow(divId) { $('#resetPasswordForm')[0].reset(); $("#resetPasswordForm").find(".field-validation-error").empty(); $(divId).data("kendoWindow").close(); } /** * Open the window for dealer reset pwd. * @method resetNonUserDealer * @for NonVecvUserManagement */ function resetNonUserDealer() { var userName = $('#tableUserList > tbody > tr.SelectedRow')[0].id; $("#hiddenUserName").val(userName); $("#dealerResetPwdPopup_wnd_title").text("Reset Password - " + userName); $("#dealerResetPwdPopup").data("kendoWindow").open(); openKendoWindowInCenter("#dealerResetPwdPopup"); } /** * Called after dealer reset pwd. * @method onSuccessResetPwd * @for NonVecvUserManagement */ function onSuccessResetPwd(result) { $('#resetPasswordForm')[0].reset(); closeWindow("#dealerResetPwdPopup"); if (result.success == true) { jAlert("Password successfully updated.", 'Message'); } else { jAlert("Reset Password failed.", 'Message'); } } /** * Open the window for User reset pwd. * @method resetUserPassword * @for PrincipleDealerManagement */ function UnlockUser() { var userName = $('#tblUserInventory > tbody > tr'); var customerId = $(userName[1]).find("td:eq(3)").html(); if (customerId == undefined) { customerId = $("#UserName").val(); } $("#hiddenUserNameUnlock").val(customerId); $("#dealerUnlockPwdPopup_wnd_title").text("Unlock User - " + customerId); $("#dealerUnlockPwdPopup").data("kendoWindow").open(); openKendoWindowInCenter("#dealerUnlockPwdPopup"); } /** * Called after dealer reset pwd. * @method onSuccessResetPwd * @for PrincipleDealerManagement */ function onSuccessUnlockUser(result) { $('#UnlockUserForm')[0].reset(); closeWindow("#dealerUnlockPwdPopup"); if (result.success == true) { jAlert("User successfully unlocked.", 'Message'); var objectId = document.getElementById(result.userName).getAttribute('data-objectId'); if (activeRequest_UserDetails && activeRequest_UserDetails.readystate != 4) { activeRequest_UserDetails.abort(); } activeRequest_UserDetails = $.ajax({ type: "POST", url: "/UserInventory/ManageUserInventory_GetUserDetails/", data: { UserName: result.userName, ObjectId: objectId }, success: function (data) { $("#divDealerUserDetailPanel").html(''); $("#divDealerUserDetailPanel").html(data); if ($("#item_IsLocked").val() == "True") { $("#btnUnlockUser").show(); } else { $("#btnUnlockUser").hide(); //$("#btnUnlockUser").prop("disabled", true); } }, error: function (data) { console.log(data); } }); } else { jAlert("Unlocked User failed.", 'Message'); } } /** * Bind textbox keyup event for searching. * @event keyup * @for NonVecvUserManagement */ $('#txtSearchUserList').keyup(function (event) { var sValue = $.trim($(this).val()); initSearch(event.keyCode, sValue); }).keydown(function () { }).focus(function () { $(this).select(); }); //------------------------------------ document ready function --------------------------------------// $(document).ready(function () { getDealerUserList(); addKendoWindow("#dealerResetPwdPopup", "Reset Password", "500px", 150, 120); addKendoWindow("#dealerUnlockPwdPopup", "Unlock User", "500px", 150, 120); });