Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/support/authorizesupport_popup/index.min.js
$(function(){"use strict";setProgressIcon("grant","default");setProgressIcon("ssh-test","default");setProgressIcon("redirect","default");$("#grant-access-form").on("submit",function(e){e.preventDefault();processAll(ticketId,serverNum)});var ticketId=PAGE.ticket_id;var serverNum=PAGE.server_num;var redirectUri=PAGE.redirect_uri;if(!ticketId||ticketId<1){throw"Developer Error: ticketId must be a number above 0"}if(!serverNum||serverNum<1){throw"Developer Error: serverNum must be a number above 0"}if(!redirectUri){throw"Developer Error: redirectUri must be provided"}function processAll(ticketId,serverNum){$("#grant-access-form").hide();$("#progress-view").show();var grantStatus,grantError;grantAccess(ticketId,serverNum).then(function success(status){grantStatus=200;return startSshTest(ticketId,serverNum)},function failure(error){grantStatus=400;grantError=error}).always(function(){redirectToCustomerPortal(grantStatus,grantError)})}function grantAccess(ticketId,serverNum){setProgressIcon("grant","run");return whmApi1({method:"ticket_grant",queryObj:{ticket_id:ticketId,server_num:serverNum}}).then(function success(resp){setProgressIcon("grant","done");return resp},function failure(error){setProgressIcon("grant","error");return $.Deferred().reject(error)})}function startSshTest(ticketId,serverNum){setProgressIcon("ssh-test","run");return whmApi1({method:"ticket_ssh_test_start",queryObj:{ticket_id:ticketId,server_num:serverNum}}).then(function success(resp){setProgressIcon("ssh-test","done");return resp},function failure(error){setProgressIcon("ssh-test","error");return $.Deferred().reject(error)})}function redirectToCustomerPortal(status,error){setProgressIcon("redirect","run");var queryObj=_parseQuery();queryObj.status=status;if(error){queryObj.error=error}var queryStr=$.param(queryObj,true);location.href=redirectUri+"?"+queryStr}function whmApi1(args){args.queryObj=args.queryObj||{};args.queryObj["api.version"]=1;var urlBase=location.href.match(/^.*\/cpsess\d+\//)+"json-api/";var fullUrl=urlBase+args.method;var xhr=$.ajax({url:fullUrl,method:"GET",data:args.queryObj,dataType:"json",timeout:3e5}).then(function success(resp){if(!resp||!resp.metadata){return $.Deferred().reject("Unknown API error")}else if(resp.metadata.result===0){return $.Deferred().reject(resp.metadata.reason)}else{return resp}},function failure(jqXHR,textStatus,error){if(textStatus==="timeout"){return $.Deferred().reject("API timeout")}else if(error){return $.Deferred().reject("API error "+jqXHR.status+" ("+error+")")}else if(jqXHR.status>=200&&jqXHR.status<400){return $.Deferred().reject("API error: "+textStatus)}else{return $.Deferred().reject("API error "+jqXHR.status)}});return xhr}function _parseQuery(){var queryObj={};location.search.substring(1).split("&").forEach(function(singleParamStr){var split=singleParamStr.split("=");if(split.length>1){queryObj[split[0]]=split[1]}});return queryObj}function setProgressIcon(processName,newIconState){var $icons=$("#"+processName+"-progress .fas");var $newIcon=$icons.filter("[icon-state="+newIconState+"]");$icons.hide();$newIcon.show()}});
Back to Directory
File Manager