/** * @author Usman Naeem */ const manage_license_form_id = "manage_license_form"; function enableManageLicensePage() { addLoader(); setPage("manage_license_page"); addHeader(true); addFooter(); preventDefaultFormSubmit(manage_license_form_id); const messageboxElement = getElement("manage_license_message_box"); messageboxElement.innerHTML = ""; const licenseeEmailElement = getElement("licensee_email"); licenseeEmailElement.value = ""; load_user().then(() => { if (user_json.type !== 'Administrator') { enableHomePage(); } // load_license_peirod_options().then(() => { removeLoader(); }).catch((error) => { handleError(error, "manage_license_message_box", true); return; }); }).catch((error) => { handleError(error, "manage_license_message_box", true); enableHomePage(); return; }); } async function load_license_peirod_options() { try { const messageboxElement = getElement("manage_license_message_box"); const url = "/administration/GetLicensePeriodOptions"; const json = await callWebserviceGET(url, messageboxElement, null); if (json.code !== 200) { messageboxElement.innerHTML = json.message; } else { const license_periods = new Array(); json.license_periods.forEach(option => { if (!license_periods.includes(option)) { license_periods.push(option); } }); license_periods.sort((a, b) => { return (a - b); }); const expiryDaysElement = getElement("expiry_days"); var selectedDone = false; license_periods.forEach(option => { var optionElement = document.createElement('option'); optionElement.value = option; optionElement.innerHTML = option + " Day" + (option > 1 ? "s" : ""); if (!selectedDone) { optionElement.selected = true; selectedDone = true; } expiryDaysElement.appendChild(optionElement); }); } } catch (error) { console.log(error); throw new Error("Failed to load license period options"); } } async function update_license() { try { const messageboxElement = getElement("manage_license_message_box"); messageboxElement.innerHTML = ""; const licenseeEmailElement = getElement("licensee_email"); if (licenseeEmailElement.value.trim() === "") { return; } const form_data = getFormData(manage_license_form_id); disableOrEnableForm(manage_license_form_id, true); const url = "administration/SetUserExpiry"; const json = await callWebservicePOST(url, form_data, messageboxElement, null); if (json.code !== 200) { messageboxElement.innerHTML = json.message; } else { messageboxElement.innerHTML = "License has been updated for " + licenseeEmailElement.value; } } catch (error) { handleError("Failed to update license", "manage_license_message_box"); } disableOrEnableForm(manage_license_form_id, false); }