David Headrick f5b1fe6397 Update mailing and target management features
- Added new methods for creating mailings and testing targets.
- Updated configuration files for JWT settings and connection strings.
- Introduced new DTOs for target column updates and test targets.
- Enhanced MailingStatistic with a new SentDate property.
- Created new components for handling cancelled mailings and target samples.
- Refactored authentication in Login.tsx to use fetch API.
- Updated various services and repositories to support new functionalities.
2025-04-07 12:13:44 -05:00

342 lines
11 KiB
TypeScript

////iMove utility functions
////ie is the version of IE running.
//var ie = (function () {
// var undef,
// v = 3,
// div = document.createElement('div'),
// all = div.getElementsByTagName('i');
// while (
// div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
// all[0]
// );
// return v > 4 ? v : undef;
//} ());
//$(document).ajaxSend(function (event, xhr, settings) {
// var authToken = $.cookie('Auth-Token');
// if (authToken != null && authToken != undefined && authToken.trim().length > 0) {
// xhr.setRequestHeader('Auth-Token', authToken);
// }
// var impersonateGuid = $.getParameterByName("impersonateid");
// if (impersonateGuid != null && impersonateGuid != undefined && impersonateGuid.trim().length > 0) {
// $.sessionStorage('Auth-Impersonate-Guid', impersonateGuid);
// }
// impersonateGuid = $.sessionStorage('Auth-Impersonate-Guid');
// if (impersonateGuid != null && impersonateGuid != undefined && impersonateGuid.trim().length > 0) {
// xhr.setRequestHeader('Auth-Impersonate-Guid', impersonateGuid);
// }
// var franchiseCode = $.sessionStorage('franchiseCode');
// if (franchiseCode != null && franchiseCode != undefined && franchiseCode.trim().length > 0) {
// xhr.setRequestHeader('Auth-Current-Franchise', franchiseCode);
// }
//});
//$.webMethod = function (options) {
// var settings = $.extend({
// 'protocol': location.protocol, //http or https
// 'methodPage': '', //This should be something like UserMethods
// 'methodName': '', //Something like Createuser
// 'contentType': 'application/json; charset=utf-8',
// 'dataType': 'json',
// 'async': true,
// 'cache': false,
// timeout: 300000,
// 'parameters': {},
// success: function (response) { },
// error: function (xhr, error, error_thrown) { }
// }, options);
// if (settings.protocol.indexOf(':') < 0) {
// settings.protocol = settings.protocol + ':';
// }
// var result;
// var baseUrl = window.API_BASE_URL;
// //var baseUrl = $("base").attr("href");
// if (baseUrl === undefined || baseUrl === null || baseUrl.length === 0)
// baseUrl = "";
// if (baseUrl.length > 0 && baseUrl[baseUrl.length - 1] !== "/")
// baseUrl = baseUrl + "/";
// var url = baseUrl + settings.methodPage + (settings.methodName === undefined || settings.methodName === null || settings.methodName.length === 0 ? "" : "/" + settings.methodName);
// $.ajax({
// type: "POST",
// url: url,
// data: JSON.stringify(settings.parameters),
// contentType: settings.contentType,
// dataType: settings.dataType,
// async: settings.async,
// cache: settings.cache,
// timeout: settings.timeout,
// beforeSend: null,
// success: function (value, textStatus, request) {
// if (value.hasOwnProperty("d"))
// result = $.parseJSON(value.d);
// else if (typeof value === 'object')
// result = value;
// else
// result = $.parseJSON(value);
// var authToken = request.getResponseHeader('Auth-Token');
// var loggedIn = $.getBoolean(request.getResponseHeader('usahl_logged_in'));
// $.cookie.raw = true;
// if ($.getRememberMe() === true) {
// $.cookie('Auth-Token', authToken, { expires: 14, path: '/' });
// $.cookie('usahl_logged_in', loggedIn, { expires: 14, path: '/' });
// }
// else {
// $.cookie('Auth-Token', authToken, { expires: 365, path: '/' });
// $.cookie('usahl_logged_in', loggedIn, { expires: 365, path: '/' });
// }
// if (settings.success !== undefined)
// settings.success(result);
// },
// error: function (xhr, error, errorThrown) {
// if (settings.error !== undefined)
// settings.error(xhr, error, errorThrown);
// }
// });
//}
//$.webMethodAsync = async function (options) {
// var settings = $.extend({
// 'protocol': location.protocol, //http or https
// 'methodPage': '', //This should be something like UserMethods.
// 'methodName': '', //Something like Createuser
// 'contentType': 'application/json; charset=utf-8',
// 'dataType': 'json',
// 'async': true,
// 'cache': false,
// timeout: 300000,
// 'parameters': {},
// success: function (response) { },
// error: function (xhr, error, error_thrown) { }
// }, options);
// if (settings.protocol.indexOf(':') < 0) {
// settings.protocol = settings.protocol + ':';
// }
// var result;
// var baseUrl = window.API_BASE_URL;
// //var baseUrl = $("base").attr("href");
// if (baseUrl === undefined || baseUrl === null || baseUrl.length === 0)
// baseUrl = "";
// if (baseUrl.length > 0 && baseUrl[baseUrl.length - 1] !== "/")
// baseUrl = baseUrl + "/";
// var url = baseUrl + settings.methodPage + (settings.methodName === undefined || settings.methodName === null || settings.methodName.length === 0 ? "" : "/" + settings.methodName);
// return $.ajax({
// type: "POST",
// url: url,
// data: JSON.stringify(settings.parameters),
// contentType: settings.contentType,
// dataType: settings.dataType,
// async: settings.async,
// cache: settings.cache,
// timeout: settings.timeout,
// beforeSend: null,
// success: function (value, textStatus, request) {
// if (value.hasOwnProperty("d"))
// result = $.parseJSON(value.d);
// else if (typeof value === 'object')
// result = value;
// else
// result = $.parseJSON(value);
// var authToken = request.getResponseHeader('Auth-Token');
// var loggedIn = $.getBoolean(request.getResponseHeader('usahl_logged_in'));
// $.cookie.raw = true;
// if ($.getRememberMe() === true) {
// $.cookie('Auth-Token', authToken, { expires: 14, path: '/' });
// $.cookie('usahl_logged_in', loggedIn, { expires: 14, path: '/' });
// }
// else {
// $.cookie('Auth-Token', authToken, { expires: 365, path: '/' });
// $.cookie('usahl_logged_in', loggedIn, { expires: 365, path: '/' });
// }
// if (settings.success !== undefined)
// settings.success(result);
// },
// error: function (xhr, error, errorThrown) {
// if (settings.error !== undefined)
// settings.error(xhr, error, errorThrown);
// }
// });
//}
//$.getBoolean = function (variable) {
// var vtype;
// var toReturn;
// if (variable != null) {
// switch (typeof (variable)) {
// case 'boolean':
// vtype = "boolean";
// return variable;
// break;
// case 'number':
// vtype = "number";
// if (variable == 0)
// toReturn = false;
// else toReturn = true;
// break;
// case 'string':
// vtype = "string";
// if (variable.toLowerCase() == "true" || variable.toLowerCase() == "yes")
// toReturn = true;
// else if (variable.toLowerCase() == "false" || variable.toLowerCase() == "no")
// toReturn = false;
// else if (variable.length > 0)
// toReturn = true;
// else if (variable.length == 0)
// toReturn = false;
// break;
// }
// return toReturn;
// }
//};
//$.isLoggedIn = function () {
// return $.getBoolean($.cookie('usahl_logged_in'));
//}
////Send the auth-token in all ajax requests
//$.ajaxSetup({
// beforeSend: function (xhr, settings) {
// xhr.setRequestHeader('Auth-Token', $.cookie('Auth-Token'));
// }
//});
//$.sessionStorage = function (key, value) {
// if (value === undefined) {
// var val = window.sessionStorage.getItem(key);
// if ((/^usahl_json/).test(val)) {
// val = val.substring(11, val.length);
// val = $.parseJSON(val);
// }
// return val;
// }
// else {
// var val = value;
// if (typeof value === 'object') {
// val = "usahl_json:" + JSON.stringify(value);
// }
// window.sessionStorage.setItem(key, val);
// }
//};
//$.sessionStorageClear = function () {
// window.sessionStorage.clear();
//};
//$.sessionStorageRemove = function (key) {
// window.sessionStorage.removeItem(key);
//};
//$.localStorage = function (key, value) {
// if (value === undefined) {
// var val = window.localStorage.getItem(key);
// if ((/^usahl_json/).test(val)) {
// val = val.substring(11, val.length);
// val = $.parseJSON(val);
// }
// return val;
// }
// else {
// var val = value;
// if (typeof value === 'object') {
// val = "usahl_json:" + JSON.stringify(value);
// }
// window.localStorage.setItem(key, val);
// }
//};
//$.localStorageClear = function () {
// window.localStorage.clear();
//};
//$.localStorageRemove = function (key) {
// window.localStorage.removeItem(key);
//};
//$.setRememberMe = function (rememberMe) {
// $.sessionStorage("usahl_remember_me", rememberMe);
//}
//$.getRememberMe = function () {
// return true;
// /*
// var rememberMe = $.sessionStorage("usahl_remember_me");
// if (rememberMe === undefined || rememberMe == null) {
// return false;
// }
// return $.getBoolean(rememberMe);
// */
//}
//$.userHasPermission = function (permissionCode) {
// var allowed = false;
// var user = $.localStorage("session_currentUser");
// $.each(user.Permissions, function () {
// if ($.compareStrings(this.Code, permissionCode)) {
// allowed = true;
// }
// });
// return allowed;
//}
//$.userHasRole = function (role) {
// var hasRole = false;
// var user = $.localStorage("session_currentUser");
// $.each(user.Roles, function () {
// if ($.compareStrings(this.FriendlyName, role)) {
// hasRole = true;
// }
// });
// return hasRole;
//}
//$.checkForRole = function (user, role) {
// var hasRole = false;
// $.each(user.Roles, function () {
// if ($.compareStrings(this.FriendlyName, role)) {
// hasRole = true;
// }
// });
// return hasRole;
//}
//$.checkForRoleCode = function (user, role) {
// var hasRole = false;
// $.each(user.roles, function () {
// if ($.compareStrings(this.role_code, role)) {
// hasRole = true;
// }
// });
// return hasRole;
//}
//$.compareStrings = function (string1, string2) {
// return string1.toLowerCase() === string2.toLowerCase();
//}
//$.getParameterByName = function (name) {
// name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
// var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
// results = regex.exec(location.search);
// return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
//}