$(window).on('load', function() {
var PAGE_URL = window.location.pathname;
if(PAGE_URL == '/account'){
if(is_show_usage_log_filter == 'False'){
if(window.location.hash == "#account-log"){
show_transaction_history_table_data('all')
}
}
usageLogDatePickerManager()
}
var freeCredits = parseInt($.trim($('#showFreeCredits').text()));
if(freeCredits > 10){
var HTML = `Overdraft Credit
`
}else{
var HTML = `Free Credit
`
}
$('#ShowFreeCreditText').html(HTML);
$('[data-toggle="tooltip"]').tooltip();
});
var USAGES_API_KEY = '';
$(document).ready(function () {
var clickcount = 0;
$(document).on('click', '#btnLogout', function(e){
$('#btn_logout').click();
});
$(document).on('click', '#sectionAccountLog', function(e){
$('#uses_log').removeClass('btn-rev');
$('#credit_log').addClass('btn-rev');
$('#tblTransaction').DataTable().clear().destroy();
if(is_show_usage_log_filter == 'False'){
show_transaction_history_table_data('all')
}
});
$(document).on('click', '#btnRefresh', function(e){
$('#tblTransaction').DataTable().clear().destroy();
var dropdownMenuButtonText = $.trim($('#dropdownMenuButtonText').text());
if(dropdownMenuButtonText == 'Today'){
show_transaction_history_table_data('today')
}else if(dropdownMenuButtonText == 'Yesterday'){
show_transaction_history_table_data('yesterday')
}else if(dropdownMenuButtonText == 'Last 7 Days'){
show_transaction_history_table_data('7days')
}else if(dropdownMenuButtonText == 'Last 15 Days'){
show_transaction_history_table_data('15days')
}else if(dropdownMenuButtonText == 'Last 30 Days'){
show_transaction_history_table_data('30days')
}else{
show_transaction_history_table_data('all')
}
});
$(document).on('click', '.btn_account_log', function(e){
if($(this).hasClass('btn-rev')){
var btn_id = $(this).attr('id');
if(btn_id == 'credit_log'){
$('#tblTransaction').DataTable().clear().destroy();
if(is_show_usage_log_filter == 'True'){
$('#filterCreditLog').css('display', 'none');
}
$('#credit_log').removeClass('btn-rev');
$('#uses_log').addClass('btn-rev');
show_credit_log_table_data()
}
if(btn_id == 'uses_log'){
$('#tblTransaction').DataTable().clear().destroy();
if(is_show_usage_log_filter == 'True'){
$('#filterCreditLog').css('display', '');
$('#countUsagesLog').text('');
}else{
show_transaction_history_table_data('all')
}
$('#uses_log').removeClass('btn-rev');
$('#credit_log').addClass('btn-rev');
$('#dropdownMenuButtonText').text("Filter");
}
}
});
$('#startDate').prop('disabled', true);
$('#endDate').change(function(){
var dateObject = new Date($(this).val());
var selected_date = dateObject;
selected_date.setDate(selected_date.getDate() - 90);
var start_date = selected_date.toISOString().slice(0,10).split('-');
var start_date = start_date[1]+'/'+start_date[2]+'/'+start_date[0];
$('#startDate').val(start_date);
});
$("#btn_api_key_show").click(function () {
var btn_title = $.trim($("#btn_api_key_show").text());
if (btn_title.toLowerCase() === 'show') {
$("#btn_api_key_show").html('Hide ');
$("#api_key").show();
} else {
$("#btn_api_key_show").html('Show ');
$("#api_key").hide();
}
});
$(".toggleApiKey").change(function () {
var is_checked = $(this).is(':checked');
var status = is_checked ? "1" : "0";
var api_key = $(this).attr('api-key');
updateEnterpriseApiKeyStatus(api_key, status)
});
$(".ent_api_key_show").click(function () {
var dataID = $(this).attr('data-id');
var btnID = $(this).attr('id');
var hideOrShow = $("#"+btnID).hasClass('hide') ? 'hide' : 'show';
var apiKey = $('#input_api_key_'+dataID).val();
if (hideOrShow === 'show') {
$("#ent_api_key_hide_"+dataID).css('display', '');
$("#ent_api_key_show_"+dataID).css('display', 'none');
$('#show_api_key_'+dataID).text(apiKey);
}else{
$("#ent_api_key_hide_"+dataID).css('display', 'none');
$("#ent_api_key_show_"+dataID).css('display', '');
$('#show_api_key_'+dataID).text("**** **** **** **** **** ****");
}
console.log(apiKey);
});
$('.copy_to_clipboard').click(function () {
var value = $.trim($("#hidden_api_key").val());
var $temp = $(" ");
$("body").append($temp);
$temp.val(value).select();
document.execCommand("copy");
$temp.remove();
var alert = '
\n' +
'
× \n' +
'
Your API KEY copied ';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
});
$('.ent_copy_to_clipboard').click(function () {
var dataID = $(this).attr('data-id');
var value = $.trim($("#input_api_key_"+dataID).val());
var $temp = $(" ");
$("body").append($temp);
$temp.val(value).select();
document.execCommand("copy");
$temp.remove();
var alert = '\n' +
'
× \n' +
'
Your API KEY copied ';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
});
$('.iconCopyLicense').click(function () {
var licenseKey = $(this).attr('license-key');
var value = $.trim($("#hidden_license_key_"+licenseKey).val());
var $temp = $(" ");
$("body").append($temp);
$temp.val(value).select();
document.execCommand("copy");
$temp.remove();
var alert = '\n' +
'
× \n' +
'
Your License Key copied ';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
});
$('#delete-account').click(function () {
is_subscription_plan_exist()
});
$('.ent_usage').click(function () {
var api_key = $(this).attr('data-id');
$('#modalEnterpriseUsages').modal('show');
USAGES_API_KEY = api_key;
countEnterpriseApiKeyUsages(api_key)
});
$('.ent_usage_download').click(function () {
$('#modalEnterpriseUsagesDownload').modal('show');
});
$('#enterpriseUsagesFilter').on('change', function() {
if(USAGES_API_KEY != ''){
countEnterpriseApiKeyUsages(USAGES_API_KEY)
}
});
$('#tblTransaction').on('processing.dt', function(e, settings, processing) {
if (processing) {
$('#tblTransaction_processing').removeClass('card');
}
});
$('.btn_invite_friends').click(function () {
var share_link_email = $.trim($('#share_link_email').val());
var formdata = new FormData();
formdata.append("email", share_link_email);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/invite_friends',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
var obj = jQuery.parseJSON(data);
if (obj.status) {
$('#share_link_email').val('');
var subject = 'Slazzer Invite';
var emailBody = obj.share_url
var url = 'mailto:' + share_link_email + '?subject=' + subject + '&body=' + emailBody
// window.location = (url, 'target=""');
window.open(url, '_blank');
} else {
var msg = obj['msg'];
var alert = '\n' +
'
× \n' +
'
Error! ' + msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
});
$('#user_change_password_form').keypress(function (e) {
if (e.which == 13) { $('#btn_change_password').click(); return false; }
});
$(document).on("click", "#btn_change_password", function () {
clickcount = clickcount + 1;
var googleResponse = $.trim($('#g-recaptcha-response').val());
var old_password = $.trim($('#cp_old_pass').val());
var new_password = $.trim($('#cp_new_pass').val());
var confirm_password = $.trim($('#cp_conf_pass').val());
var csrftoken = $('meta[name=csrf-token]').attr('content');
if(old_password.length == 0){
create_error_alert("Please enter old password")
}else if(new_password == 0){
create_error_alert("Please enter new password")
}else if(new_password.length < 8){
create_error_alert('New password length minimum 8 characters')
}else if(new_password.length > 72){
create_error_alert('New password length maximum 72 characters')
}
// else if(strong_password_verification(new_password) == false){
// create_error_alert('Password should be one uppercase, one lowercase, one number, one special character')
// }
else if(confirm_password == ''){
create_error_alert('Please enter confirm password')
}else if(new_password != confirm_password){
create_error_alert('Password Mismatch')
}else if(googleResponse.length == ''){
create_error_alert('Please verify google recaptcha')
}else{
var formdata = new FormData();
formdata.append('old_password', old_password);
formdata.append("new_password", new_password);
formdata.append("confirm_password", confirm_password);
formdata.append("grecaptcha_response", grecaptcha.getResponse());
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$("#btn_change_password").prop('disabled', true);
$.ajax({
url: '/change_password',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
var obj = jQuery.parseJSON(data);
if (obj.status) {
grecaptcha.reset();
$('#cp_old_pass').val('');
$('#cp_new_pass').val('');
$('#cp_conf_pass').val('');
var msg = obj['message'];
var alert = '\n' +
'
× \n' +
'
Success! ' + msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
setTimeout(function () {
// $('#btn_logout').click();
window.location.href = "/login";
}, 4000);
} else {
grecaptcha.reset();
if(clickcount > 3){
grecaptcha.reset();
clickcount = 0;
}
$("#btn_change_password").prop('disabled', false);
create_error_alert(obj['message'])
}
},
error: function (data) {
$("#btn_forgot_password").prop('disabled', false);
}
});
}
});
$(document).on("click", ".filterUsageLog", function () {
var filter = $.trim($(this).attr('data-value'));
var filterText = $.trim($(this).text());
$('#dropdownMenuButtonText').text(filterText);
if(filter != '' && filter != 'custom'){
show_transaction_history_table_data(filter)
}
});
$(document).on("click", "#usageLogCustomDateApply", function () {
var startDate = $.trim($('#usageLogStartDate').val());
var endDate = $.trim($('#usageLogEndDate').val());
if(startDate == '' || endDate == ''){
create_error_alert("Please select start date and end date.")
}else{
show_transaction_history_table_data('custom', startDate, endDate)
$('#selectDAte').modal('hide');
}
});
$("#change_api_key").click(function () {
$('#change_api_key_confirm').modal('show');
});
$("#change_api_key_no").click(function () {
$('.close_alert_modal').click();
});
$("#password_confirmation_no").click(function () {
$('#input_confirm_password').val('');
$('.close_password_modal').click();
$('#input_confirm_password').css('border-color', '#cccccc');
$('#error_confirm_password').css('display', 'none');
$('#error_confirm_password').text('');
});
$(".close_password_modal").click(function () {
$('#input_confirm_password').val('');
$('#input_confirm_password').css('border-color', '#cccccc');
$('#error_confirm_password').css('display', 'none');
$('#error_confirm_password').text('');
});
$('#btnCreateNewApiKey').click(function(e){
var randomApiKey = Math.random().toString(10).substr(2, 5);
$('#inputNewApiKey').val("API KEY " + randomApiKey);
$('#addAPIkey').modal('show');
});
$('#btnSubmitCreateNewApiKey').click(function(e){
var apiKeyName = $.trim($('#inputNewApiKey').val());
if(apiKeyName.length > 0){
createNewEnterpriseApiKey(apiKeyName)
}
});
$('#password_confirmation_yes').click(function(e){
$('#input_confirm_password').css('border-color', '#cccccc');
$('#error_confirm_password').css('display', 'none');
$('#error_confirm_password').text('');
var password = $.trim($('#input_confirm_password').val());
if(password == ''){
$('#input_confirm_password').css('border-color', 'red');
$('#error_confirm_password').css('display', '');
$('#error_confirm_password').text('Please enter your current password.');
}else{
is_user_valid_current_password(password)
}
});
$("#change_api_key_yes").click(function () {
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/change_api_key',
type: 'POST',
processData: false,
contentType: false,
success: function (data) {
$('.close_alert_modal').click();
if(data.status){
$('#url_copy_to_clipboard').text(data.new_api_key);
$('#hidden_api_key').val(data.new_api_key);
$('#api_key_hide').css('display', '');
$('#api_key_show').css('display', 'none');
var msg = data['msg'];
var alert = '\n' +
'
× \n' +
'
Success! ' + msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}else{
var msg = data['msg'];
var alert = '\n' +
'
× \n' +
'
Error! ' + msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
});
$(document).on('change', '#usageLogStartDate', function(e){
const startDate = $("#usageLogStartDate").datepicker("getDate");
if (startDate) {
// Today's date (no time component)
const today = new Date();
today.setHours(0, 0, 0, 0);
// Set the new max date as 15 days from the selected start date
const maxEndDate = new Date(startDate);
maxEndDate.setDate(startDate.getDate() + 15);
// Ensure maxEndDate doesn't go beyond today
const finalMaxEndDate = maxEndDate > today ? today : maxEndDate;
// Update end datepicker options
console.log(startDate)
console.log(finalMaxEndDate)
$("#usageLogEndDate").datepicker("option", "minDate", startDate);
$("#usageLogEndDate").datepicker("option", "maxDate", finalMaxEndDate);
}
});
$(document).on("click", "#change_password_button", function () {
$('#section_show_email').css('display', 'none');
$('#section_update_email').css('display', '');
});
$(document).on("click", "#cancel_change_password_button", function () {
$('#input_change_password').val('');
$('#confirm_password_loader').css('display', 'none');
$('#section_update_email').css('display', 'none');
$('#section_show_email').css('display', '');
});
$(document).on("click", "#confirm_change_password_button", function () {
var new_email = $.trim($('#input_change_password').val());
if(new_email.length == 0){
create_error_alert('Please enter new email.');
}else{
var csrftoken = $('meta[name=csrf-token]').attr('content');
var formdata = new FormData();
formdata.append("email", new_email);
formdata.append("grecaptcha_response", grecaptcha.getResponse(0));
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$("#confirm_change_password_button").prop('disabled', true);
$('#confirm_password_loader').css('display', '');
$.ajax({
url: '/update_user_email',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
var obj = jQuery.parseJSON(data);
if (obj.status) {
$('#confirm_password_loader').css('display', 'none');
setTimeout(function () {
$('#section_otp').css('display', '');
$('#input_change_password').prop('readonly', true);
$('#input_change_password').css('background-color', '#c3c3c3');
$('#cancel_change_password_button').remove();
$('#confirm_change_password_button').remove();
// var alert = '\n' +
// '
× \n' +
// '
Info! ' + obj.msg + '\n' +
// '
';
// $('.notification-alert').html(alert);
// $(document).scrollTop(0);
$('#modalEmailChangeAlert').modal('show');
}, 500);
} else {
grecaptcha.reset();
create_error_alert(obj.msg)
$('#confirm_password_loader').css('display', 'none');
setTimeout(function () {
$("#confirm_change_password_button").prop('disabled', false);
}, 1000);
}
}
});
}
});
$(document).on("click", "#btn_download_usage_chart", function () {
var start_date = $.trim($('#startDate').val());
var end_date = $.trim($('#endDate').val());
var formdata = new FormData();
formdata.append('start_date', start_date);
formdata.append('end_date', end_date);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/download_usage_chart',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
window.location.href = data.file;
var msg = data['msg'];
var alert = '\n' +
'
× \n' +
'
' + msg + ' \n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
// setTimeout(function () {
// delete_csv_file_after_download(data.file)
// }, 4000);
}else{
var msg = data['msg'];
var alert = '\n' +
'
× \n' +
'
' + msg + ' \n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
});
$(document).on("click", "#cancel_update_otp_button", function () {
location.reload();
});
$(document).on("click", "#submit_otp_button", function () {
var v_code = $.trim($('#input_otp').val());
var new_email = $.trim($('#input_change_password').val());
if($.trim(v_code).length != 6){
create_error_alert("Please enter 6 digit verification code");
return false;
}
var formdata = new FormData();
formdata.append('v_code', v_code);
formdata.append('new_email', new_email);
formdata.append("grecaptcha_response", grecaptcha.getResponse(1));
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$("#submit_otp_loader").prop('disabled', true);
$('#submit_otp_loader').css('display', '');
$.ajax({
url: '/check_verification_code',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
$('#submit_otp_loader').css('display', 'none');
var obj = jQuery.parseJSON(data);
if(obj.status){
$('#section_otp').css('display', 'none');
$('#section_update_email').css('display', 'none');
$('.preview_email').text(new_email);
$('#section_show_email').css('display', '');
var alert = '\n' +
'
× \n' +
'
' + obj.msg + ' \n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
setTimeout(function () {
// $('#btn_logout').click();
window.location.href = "/login";
}, 500);
}else{
create_error_alert(obj.msg);
setTimeout(function(){
$("#submit_otp_loader").prop('disabled', false);
}, 5000);
}
},
error: function (data) {
$('#submit_otp_loader').css('display', 'none');
create_error_alert("Something went wrong.");
setTimeout(function(){
$("#submit_otp_loader").prop('disabled', false);
}, 5000);
}
});
});
$(document).on('click', '#cancel_subscription', function(e){
window.location.href = '/pricing/subscription/choose-cancel-reason';
});
$(document).on('click', '#change_payment_method', function(e){
var formdata = new FormData();
formdata.append('type', 'change_payment_method');
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/get-subscription-details',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
var obj = jQuery.parseJSON(data);
if(obj.status){
open_update_payment(obj.update_url)
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + obj.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
});
// Cancel subscription
$(document).on('change', '#btn_reason_radio', function(f){
var value = parseInt($(this).val());
if(isNaN(value) == false){
$('#input_other_reason').val('');
if(value == 7){
$('#div_other_reason').css('display', '');
}else{
$('#div_other_reason').css('display', 'none');
}
}
});
$(document).on('click', '#btn_choose_reason', function(f){
var value = parseInt($('#btn_reason_radio').val());
if(isNaN(value) == false){
var message = get_cancel_reason_message(value);
if(message == ''){
var msg = "Please type a custom reason";
var alert = '\n' +
'
× \n' +
'
Error! ' + msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}else{
save_cancel_reason(message, value)
}
}
});
$(document).on('click', '#btn_continue_subscription_cancel', function(e){
show_cancel_subscription()
});
$(document).on('click', '.api_key_show', function(){
if($(this).hasClass('show')){
$('#api_key_hide').css('display', '');
$('#api_key_show').css('display', 'none');
$('#url_copy_to_clipboard').text($('#hidden_api_key').val());
}else{
$('#api_key_hide').css('display', 'none');
$('#api_key_show').css('display', '');
$('#url_copy_to_clipboard').text("************************");
}
});
$(document).on('click', '.license_key_show', function(){
var licenseKey = $(this).attr('license-key');
if($(this).hasClass('show')){
$('#license_key_hide_'+licenseKey).css('display', '');
$('#license_key_show_'+licenseKey).css('display', 'none');
$('#view_'+licenseKey).text($('#hidden_license_key_'+licenseKey).val());
}else{
$('#license_key_hide_'+licenseKey).css('display', 'none');
$('#license_key_show_'+licenseKey).css('display', '');
$('#view_'+licenseKey).text("************************");
}
});
// Infinity subscription cancel
$(document).on('click', '.btnInfinityCancelSubscription', function(e){
var sub_id = $.trim($(this).attr('s-id'));
if(sub_id != ''){
$('#modalCancelLicenseConfirmationYes').attr('s-id', sub_id);
$('#modalCancelLicenseConfirmation').modal('show');
}
});
$(document).on('click', '#modalCancelLicenseConfirmationNo', function(e){
$('#modalCancelLicenseConfirmationClose').click();
});
$(document).on('click', '#modalCancelLicenseConfirmationYes', function(e){
var sub_id = $.trim($(this).attr('s-id'));
if(sub_id != ''){
cancel_subscription_for_infinity(sub_id)
}
});
$(document).on('click', '.btnChangeInfinityPaymentMethod', function(e){
var license_key = $.trim($(this).attr('licence-key'));
if(license_key != ''){
var formdata = new FormData();
formdata.append('license_key', license_key);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/get-change-payment-link',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
open_update_payment(data.url)
}else{
var alert = '\n' +
'
× \n' +
'
Error! '+data.message+'\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}else{
var alert = '\n' +
'
× \n' +
'
Error! Something went wrong\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
});
$(document).on('click', '.unlinkMacAddress', function(e){
var mac_address = $.trim($(this).attr('mac-address'));
var data_id = $.trim($(this).attr('mac-id'));
var license_key = $.trim($(this).attr('license-key'));
$('#modalUnlinkMACIdYes').attr('mac-address', mac_address).attr('mac-id', data_id).attr('license-key', license_key);
$('#mac_address').text(mac_address);
$('#modalUnlinkMACId').modal('show')
});
$(document).on('click', '#modalCancelUnlinkMACIdNo', function(e){
$('#modalUnlinkMACIdClose').click();
});
$(document).on('click', '#modalUnlinkMACIdYes', function(e){
var mac_address = $.trim($(this).attr('mac-address'));
var mac_id = $.trim($(this).attr('mac-id'));
var license_key = $.trim($(this).attr('license-key'));
if(mac_address == '' || mac_address == undefined || mac_id == '' || mac_id == undefined || license_key == '' || license_key == undefined){
var message = "Something went wrong."
var alert = '\n' +
'
× \n' +
'
Error! ' + message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}else{
var formdata = new FormData();
formdata.append('mac_address', mac_address);
formdata.append('mac_id', mac_id);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/infinity/unlink-mac-address',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
$('#modalUnlinkMACIdClose').click();
$('#row-'+mac_id).remove();
var getmacID = $('.getmacID').attr('id');
var totalMacCount = $('#'+getmacID+' li').length;
$('#countMacID_'+license_key).text(`(`+ totalMacCount +`)`);
if($('#'+getmacID+' li').length == 0){$('#'+getmacID).html('Sorry! No mac address found. ');}
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}
});
$(document).on('click', '#modalCancelUnlinkMACIdNo', function(e){
$('#modalUnlinkMACIdClose').click();
});
$(document).on('click', '.btnChangeLicenseKey', function(e){
$('#modalChangeLicenseKeyYes').attr('license-key', $(this).attr('license-key'));
$('#modalChangeLicenseKey').modal('show');
});
$(document).on('click', '#modalChangeLicenseKeyNo', function(e){
$('#modalChangeLicenseKeyClose').click();
});
$(document).on('click', '#modalChangeLicenseKeyYes', function(e){
var license_key = $(this).attr('license-key');
if(license_key == '' || license_key == undefined){
var message = "Something went wrong."
var alert = '\n' +
'
× \n' +
'
Error! ' + message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}else{
var formdata = new FormData();
formdata.append('license_key', license_key);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/infinity/update-license-key',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
$('#modalChangeLicenseKeyClose').click();
var alert = '\n' +
'
× \n' +
'
Successful! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
setTimeout(function () {
window.location.href = '/account';
}, 3000);
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}
});
$(document).on('click', '#downloadUsages', function(e){
var startDate = $.trim($('#usageStartDate').val());
var endDate = $.trim($('#usageEndDate').val());
if(startDate == '' || endDate == ''){
var message = "Please select start date and end date."
var alert = '\n' +
'
× \n' +
'
Error! ' + message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}else{
var start_date_list = startDate.split('/');
var end_date_list = endDate.split('/');
start_date = start_date_list[0] + '-' + start_date_list[1] + '-' + start_date_list[2] + ' 00:00:00';
end_date = end_date_list[0] + '-' + end_date_list[1] + '-' + end_date_list[2] + ' 23:59:59';
enterpriseUsagesDownload(start_date, end_date)
}
});
});
function delete_csv_file_after_download(filename){
var formdata = new FormData();
formdata.append('filename', filename);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/delete_csv_file',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
console.log(data);
}
});
}
function open_cancel_subscription(){
var formdata = new FormData();
formdata.append('type', 'cancel_subscription');
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/get-subscription-details',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
var obj = jQuery.parseJSON(data);
if(obj.status){
window.open(obj.cancel_url, '_blank');
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + obj.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}
function get_cancel_reason_message(value){
if(value == 1){
return "It doesn't work / technical issue";
}else if(value == 2){
return "Results do not look good";
}else if(value == 3){
return "Switching to another product";
}else if(value == 4){
return "Missing feature";
}else if(value == 5){
return "I have more credits than I need";
}else if(value == 6){
return "I don't need it anymore";
}else if(value == 7){
var input_value = $.trim($('#input_other_reason').val());
return (input_value != '') ? input_value : '';
}
}
function save_cancel_reason(reason, value){
var formdata = new FormData();
formdata.append('message', reason);
formdata.append('message_no', value);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/subscription-plan-cancel-reason',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
window.location.href = '/pricing/subscription/confirm-cancellation';
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}
function show_cancel_subscription(){
var formdata = new FormData();
formdata.append('', '');
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/cancel-user-from-paddle',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
var alert = '\n' +
'
× \n' +
'
Success! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
setTimeout(function () {
window.location.href = '/account';
}, 3000);
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}
function open_update_payment(update_url){
Paddle.Checkout.open({
override: update_url,
success: '/account'
});
}
function show_transaction_history_table_data(filter="all", startDate=null, endDate=null){
if ($.fn.DataTable.isDataTable('#tblTransaction')) {
$('#tblTransaction').DataTable().clear().destroy();
}
var AJAX_OBJ = {'url':'/transaction-details'};
if(is_show_usage_log_filter == 'True'){
AJAX_OBJ.data = function (d) {
d.filter = filter;
if(startDate != null && endDate != null){
d.start_date = startDate;
d.end_date = endDate;
}
}
}
$('#countUsagesLog').text('');
$('#dropdownMenuButtonText').prop('disabled', true);
$('#credit_log').prop('disabled', true);
$('#refreshSection').prop('disabled', true);
// var tbl_transaction = $('#tblTransaction').DataTable({
// 'processing': true,
// 'serverSide': true,
// 'serverMethod': 'post',
// 'ajax': AJAX_OBJ,
// 'lengthMenu': [50],
// "paging": true,
// "info": true, // Enables "Showing X to Y of Z entries"
// "lengthChange": false, // Disables the "Show X entries" dropdown
// "bPaginate": false,
// searching: false,
// lengthChange: false,
// sort: false,
// "serverSide": true,
// 'columns': [
// { data: 'date' },
// { data: 'description' },
// ],
// "language": {
// "processing": `
`
// },
// 'drawCallback': function(settings) {
// var api = this.api();
// var total = 0;
// api.rows().data().each(function(rowData) {total += parseFloat(rowData.deducted_credit) || 0});
// var formattedTotal = (total % 1 === 0) ? total.toFixed(0) : total.toFixed(2);
// $('#countUsagesLog').text("Total Credits Consumed: " + formattedTotal);
// $('#dropdownMenuButtonText').prop('disabled', false);
// $('#credit_log').prop('disabled', false);
// }
// });
var tbl_transaction = $('#tblTransaction').DataTable({
'processing': true,
'serverSide': true,
'serverMethod': 'post',
'ajax': AJAX_OBJ,
'lengthMenu': [50],
"paging": false, // ✅ Completely disables pagination
"info": false, // ✅ Removes "Showing X to Y of Z entries"
"lengthChange": false, // ✅ Hides the "Show X entries" dropdown
"searching": false,
"ordering": false, // ✅ Disables sorting
"serverSide": true,
'columns': [
{ data: 'date' },
{ data: 'description' },
],
"language": {
"processing": `
Please wait while we are fetching your data...`
},
'drawCallback': function(settings) {
var api = this.api();
var total = 0;
api.rows().data().each(function(rowData) {total += parseFloat(rowData.deducted_credit) || 0});
var formattedTotal = (total % 1 === 0) ? total.toFixed(0) : total.toFixed(2);
$('#countUsagesLog').text("Total Credits Consumed: " + formattedTotal);
$('#dropdownMenuButtonText').prop('disabled', false);
$('#credit_log').prop('disabled', false);
$('#refreshSection').css('display', '');
$('#refreshSection').prop('disabled', false);
}
});
}
function show_credit_log_table_data(){
var tbl_transaction = $('#tblTransaction').DataTable({
'processing': true,
'serverSide': true,
'serverMethod': 'post',
'ajax': {
'url':'/credit-log'
},
'lengthMenu': [25],
searching: false,
lengthChange: false,
sort: false,
"serverSide": true,
'columns': [
{ data: 'date' },
{ data: 'description' },
],
"language": {
"processing": `
`
},
});
}
function is_user_valid_current_password(password){
var formdata = new FormData();
formdata.append('password', password);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/is-user-valid-current-password',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
$('#input_confirm_password').css('border-color', '#cccccc');
$('#error_confirm_password').css('display', 'none');
$('#error_confirm_password').text('');
$('.close_password_modal').click();
setTimeout(function () {
delete_user_account()
}, 1000);
}else{
$('#input_confirm_password').css('border-color', 'red');
$('#error_confirm_password').css('display', '');
$('#error_confirm_password').text(data.message);
}
}
});
}
function delete_user_account(){
var user_account_delete_prompt = prompt("Please type “ CONFIRM ” in the below text box to continue.");
var csrftoken = $('meta[name=csrf-token]').attr('content');
if (user_account_delete_prompt != null) {
if (user_account_delete_prompt == 'CONFIRM') {
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/delete-account',
type: 'POST',
processData: false,
contentType: false,
data: new FormData(),
success: function (data) {
if(data.status){
// $('#btn_logout').click();
window.location.href = "/login";
}else{
alert(data.message);
}
}
});
} else {
alert("keywords does not match!");
}
}
}
function cancel_subscription_for_infinity(s_id){
var formdata = new FormData();
formdata.append('subscription_id', s_id);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/infinity/cancel-subscription',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
if(data.status){
var alert = '\n' +
'
× \n' +
'
Success! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
$('#modalCancelLicenseConfirmationNo').click();
$('#modalCancelLicenseConfirmationYes').attr('s-id', '');
setTimeout(function () {
window.location.href = '/account';
}, 4000);
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + data.message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}
function is_subscription_plan_exist(){
var buttonId = '#delete-account';
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$(buttonId).prop('disabled', true);
$.ajax({
url: '/is-subscription-plan-exist',
type: 'POST',
processData: false,
contentType: false,
data: new FormData(),
success: function (data) {
$(buttonId).prop('disabled', false);
if(data.status){
var message = "Your Subscription plan is active. Kindly cancel your Subscription plan before deleting your account.";
var alert = '\n' +
'
× \n' +
'
Warning! ' + message + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}else{
$('#password_confirmation').modal('show');
}
}
});
}
function get_all_enterprise_api_keys(){
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/get-enterprise-api-keys',
type: 'POST',
processData: false,
contentType: false,
data: new FormData(),
success: function (data) {
var apiKeyList = data.data;
for(var i=0; i
`+name+`
**** **** **** **** **** ****
`;
}
function createNewEnterpriseApiKey(name){
var csrftoken = $('meta[name=csrf-token]').attr('content');
var formData = new FormData();
formData.append('name', name);
$('#btnSubmitCreateNewApiKey').prop('disabled', true);
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/enterprise/create-api-key',
type: 'POST',
processData: false,
contentType: false,
data: formData,
success: function (data) {
$('#btnSubmitCreateNewApiKey').prop('disabled', false);
if(data.status){
var alert = '\n' +
'
× \n' +
'
Success! ' + data.msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
$('#modalCloseEnterpriseApiKey').click();
setTimeout(function () {
location.reload();
}, 2000);
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + data.msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
$('#modalCloseEnterpriseApiKey').click();
}
}
});
}
function updateEnterpriseApiKeyStatus(api_key, status){
var csrftoken = $('meta[name=csrf-token]').attr('content');
var formData = new FormData();
formData.append('api_key', api_key);
formData.append('status', status);
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/enterprise/update-api-key-status',
type: 'POST',
processData: false,
contentType: false,
data: formData,
success: function (data) {
if(data.status){
if(status == "1"){
$('#sectionEnterpriseAPIKey_' + api_key).removeClass('disabled');
}else{
$('#sectionEnterpriseAPIKey_' + api_key).addClass('disabled');
}
var alert = '\n' +
'
× \n' +
'
Success! ' + data.msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}else{
var alert = '\n' +
'
× \n' +
'
Error! ' + data.msg + '\n' +
'
';
$('.notification-alert').html(alert);
$(document).scrollTop(0);
}
}
});
}
function countEnterpriseApiKeyUsages(api_key){
var enterpriseUsagesFilter = $('#enterpriseUsagesFilter').val();
var csrftoken = $('meta[name=csrf-token]').attr('content');
var formData = new FormData();
formData.append('api_key', api_key);
formData.append('filter', enterpriseUsagesFilter);
$('#loaderUsagesValue').css('display', 'block');
$('#showUsagesValue').css('display', 'none');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/enterprise/check-usages',
type: 'POST',
processData: false,
contentType: false,
data: formData,
success: function (data) {
$('#loaderUsagesValue').css('display', 'none');
$('#showUsagesValue').css('display', 'inline-block');
if(data.status){
// $('#showUsagesValue').text(data.usages_count);
$('#showHDCredits').text(data.hd_credits);
$('#showPreviewCredits').text(data.preview_credits);
$('#showTotalImages').text(data.total_images);
$('#showTotalCredits').text(data.total_credits);
}
}
});
}
function download_excel_file_for_customer(){
var start_date = "2024-01-01"
var end_date = "2024-01-14"
var formdata = new FormData();
formdata.append('start_date', start_date);
formdata.append('end_date', end_date);
var csrftoken = $('meta[name=csrf-token]').attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
});
$.ajax({
url: '/download_custom_excel_file',
type: 'POST',
processData: false,
contentType: false,
data: formdata,
success: function (data) {
console.log(data);
}
});
}
function enterpriseUsagesDownload(start_date, end_date){
var _start_date = start_date;
var _end_date = end_date;
var startDate = new Date(start_date);
var endDate = new Date(end_date);
var currentDate = new Date();
var differenceInTime = endDate.getTime() - startDate.getTime();
var differenceInDays = differenceInTime / (1000 * 3600 * 24);
if (differenceInDays > 14) {
alert("The range is more than 14 days!");
} else {
$('#usageStartDate').val('');
$('#usageEndDate').val('');
$('.close').trigger('click');
window.open('/enterprise/download-usages/'+_start_date+'/'+_end_date, '_blank');
}
}
function usageLogDatePickerManager() {
const today = new Date();
// Initialize Start Date Picker
$("#usageLogStartDate").datepicker({
maxDate: today,
onSelect: function(selectedDate) {
const startDate = $("#usageLogStartDate").datepicker("getDate");
if (startDate) {
// Calculate max end date as min(startDate + 31 days, today)
const maxEndDate = new Date(startDate);
maxEndDate.setDate(startDate.getDate() + 31);
// Ensure maxEndDate doesn't go beyond today
const finalMaxEndDate = maxEndDate > today ? today : maxEndDate;
$("#usageLogEndDate").datepicker("option", "minDate", startDate);
$("#usageLogEndDate").datepicker("option", "maxDate", finalMaxEndDate);
}
}
});
// Initialize End Date Picker (default max is today)
$("#usageLogEndDate").datepicker({
maxDate: today
});
}
//function usageLogDatePickerManager(){
// const today = new Date();
// const yesterday = new Date();
// yesterday.setDate(today.getDate() - 1);
//
// const thirtyDaysAgo = new Date();
// thirtyDaysAgo.setDate(today.getDate() - 15);
//
// const twentyNineDaysAgo = new Date();
// twentyNineDaysAgo.setDate(today.getDate() - 14);
//
// // Start Date: 15 days ago to yesterday
// $("#usageLogStartDate").datepicker({
// minDate: thirtyDaysAgo,
// maxDate: yesterday
// });
//
// // End Date: 14 days ago to today
// $("#usageLogEndDate").datepicker({
// minDate: twentyNineDaysAgo,
// maxDate: today
// });
//
//}