Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/support/create_support_ticket/index.cmb.min.js

define("app/services/wizardApi",["angular","lodash","cjt/util/locale","cjt/services/viewNavigationApi"],(function(e,t,r){e.module("whm.createSupportTicket").factory("wizardApi",["viewNavigationApi","wizardState",function(o,i){return{configure:function(t){t=t||{},i.resetFn=t.resetFn||e.noop,i.nextButtonTitle=t.nextButtonTitle||"",i.nextButtonText=t.nextButtonText||r.maketext("Next"),i.nextFn=t.nextFn||e.noop,i.previousButtonTitle=t.nextButtonTitle||"",i.previousButtonText=t.previousButtonText||r.maketext("Previous"),i.previousFn=t.previousFn||e.noop},getStep:function(){return i.step},getView:function(){return i.view},reset:function(){(i.resetFn.apply(i,arguments)||i.resetFn===e.noop)&&(i.step=1)},next:function(){(i.nextFn.apply(i,arguments)||i.nextFn===e.noop)&&i.step++,this.setButtonIds(),i.step>i.maxSteps&&(i.step=i.maxSteps)},previous:function(){(i.previousFn.apply(i,arguments)||i.previousFn===e.noop)&&i.step--,this.setButtonIds(),i.step<=0&&(i.step=1)},hideFooter:function(){i.footer=!1},showFooter:function(){i.footer=!0},disableNextButton:function(){i.nextButtonDisabled=!0},enableNextButton:function(){i.nextButtonDisabled=!1},setButtonIds:function(e){var r;e=e||(r=i.view||"wizard",t.kebabCase(r)),i.nextButtonId=e+"-next-button",i.previousButtonId=e+"-previous-button"},configureStep:function(t){return t=t||{},i.nextButtonTitle=t.nextButtonTitle||"",i.nextButtonText=t.nextButtonText||r.maketext("Next"),i.nextFn=t.nextFn||e.noop,i.previousButtonTitle=t.previousButtonTitle||"",i.previousButtonText=t.previousButtonText||r.maketext("Previous"),i.previousFn=t.previousFn||e.noop,!0},loadView:function(e,t,r){var n=o.loadView(e,t,r);return i.view=e,n},verifyStep:function(r,o){var i=e.isString(r)?new RegExp("^"+t.escapeRegExp(r)+"$"):r;if(!i instanceof RegExp)throw"expectedPath is not a valid expression. It must be a string or a RegExp";var n=this.getView();return!!i.test(n)||(o&&e.isFunction(o)?o(n,r):this.reset(),!1)},steps:function(t){return e.isUndefined(t)||(i.maxSteps=t),i.maxSteps}}}])})),define("app/views/wizardController",["angular"],(function(e){e.module("whm.createSupportTicket").controller("wizardController",["$scope","wizardState","wizardApi",function(e,t,r){e.wizard=t,e.wizardApi=r,r.configure({resetFn:function(e){return t.step=0,e||r.loadView("/start"),r.hideFooter(),!0}})}])})),define("app/services/ticketService",["angular","lodash","cjt/util/parse","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService","cjt/services/whm/oauth2Service"],(function(e,t,r,o){e.module("whm.createSupportTicket").factory("ticketService",["$q","APIService","oauth2Service","pageState",function(i,n,a,s){var c=!1,u=function(){};return u.prototype=new n,e.extend(u.prototype,{verifyCode:function(e,t){var r=new o.Class;r.initialize("","ticket_validate_oauth2_code"),r.addArgument("code",e),r.addArgument("redirect_uri",t);var n=this;return this.deferred(r).promise.then((function(e){return n.setAuthState(!0),e})).catch((function(e){return n.setAuthState(!1),i.reject(e)}))},fetchSupportInfo:function(){var e=new o.Class;return e.initialize("","ticket_get_support_info"),this.deferred(e).promise.then((function(e){return e}))},fetchTechnicalSupportAgreement:function(){var e=new o.Class;return e.initialize("","ticket_get_support_agreement"),s.tos?i((function(e,t){e(s.tos)})):this.deferred(e).promise.then((function(e){return s.tos=e.data,s.tos.accepted=r.parsePerlBoolean(s.tos.accepted),e}))},updateAgreementApproval:function(){var e=new o.Class;return e.initialize("","ticket_update_service_agreement_approval"),e.addArgument("version",s.tos.version),this.deferred(e).promise.then((function(){s.tos.accepted=!0}))},createStubTicket:function(){var e=new o.Class;return e.initialize("","ticket_create_stub_ticket"),this.deferred(e).promise.then((function(e){var t=e.data.ticket_id,r=e.data.secure_id;return s.ticketId=t,s.secId=r,t}))},grantAccess:function(){if(!s.ticketId)throw"You do not have a ticket yet, so you can not grant access. Call createStubTicket() first.";var e=new o.Class;return e.initialize("","ticket_grant"),e.addArgument("ticket_id",s.ticketId),e.addArgument("secure_id",s.secId),e.addArgument("server_num",1),e.addArgument("ssh_username","root"),this.deferred(e).promise},getAuthState:function(){return c},setAuthState:function(e){if(!t.isBoolean(e))throw new TypeError("The new state must be a boolean value.");c=e}}),new u}])})),define("app/services/ticketUrlService",["angular"],(function(e){e.module("whm.createSupportTicket").service("ticketUrlService",["$httpParamSerializer","pageState",function(e,t){return{getTicketUrl:function(r,o){var i=t.new_ticket_urls,n=i[r]||i.generic,a="";return o&&(a=e(o)),n+(a?"&"+a:"")}}}])})),define("app/services/oauth2PopupService",["angular","cjt/util/query","cjt/services/windowMonitorService","cjt/services/whm/oauth2Service","cjt/services/alertService","app/services/wizardApi"],(function(e,t){e.module("whm.createSupportTicket").service("oauth2PopupService",["pageState","alertService","oauth2Service","popupService","ticketService","windowMonitorService","wizardApi",function(e,r,o,i,n,a,s){return{show:function(c,u,l){var p=function(c,u){var l,p=e.oauth2;return o.initialize(p.endpoint,p.params),o.setCallback((function(o){a.stop(l),s.loadView("/authorize-customer-portal/verifying",null,{replaceState:!0});var i=t.parse_query_string(o);n.verifyCode(i.code,i.redirect_uri).then((function(){e.is_cpanel_direct?s.loadView("/tos",null,{clearAlerts:!0,replaceState:!0}):s.loadView("/supportinfo",null,{clearAlerts:!0,replaceState:!0}),s.showFooter(),s.next()})).catch((function(e){r.add({message:e,type:"danger",replace:!1}),u&&u(e)}))})),l=i.openPopupWindow(o.getAuthUri(),"authorize_customer_portal",{autoCenter:!0,height:415,width:450})}(0,l);return a.start(p,u),p}}}])})),define("app/views/startController",["angular","cjt/util/query","cjt/services/popupService","cjt/services/alertService","app/services/ticketService","app/services/ticketUrlService","app/services/oauth2PopupService","app/services/wizardApi"],(function(e,t){return e.module("whm.createSupportTicket").controller("startController",["$scope","pageState","alertService","popupService","ticketService","ticketUrlService","oauth2PopupService","wizardApi","wizardState",function(t,r,o,i,n,a,s,c,u){e.extend(t,{show:{hackQuestion:!1},hacked:"unspecified",hasCloudLinux:!!r.has_cloud_linux,hasLiteSpeed:!!r.has_lite_speed}),n.getAuthState()?r.tos&&r.tos.accepted?u.maxSteps=3:u.maxSteps=4:r.tos&&r.tos.accepted?u.maxSteps=6:u.maxSteps=7,r.is_cpanel_direct||u.maxSteps++,c.configureStep(),c.reset(!0),o.clear(),t.selectThisServer=function(){if(r.is_dns_only){var e=t.getTicketUrl("dnsonly");i.openPopupWindow(e,"tickets",{newTab:!0}).focus()}else n.getAuthState()?(r.is_cpanel_direct?r.tos&&r.tos.accepted?c.loadView("/grant",null,{clearAlerts:!0}):c.loadView("/tos",null,{clearAlerts:!0}):c.loadView("/supportinfo",null,{clearAlerts:!0}),c.showFooter(),c.next()):(t.show.hackQuestion=!0,c.next())},t.getTicketUrl=a.getTicketUrl,t.moveBack=function(){t.show.hackQuestion=!1,c.previous()},t.startTicket=function(){n.getAuthState()?(c.loadView("/tos",null,{clearAlerts:!0}),c.showFooter(),c.next()):(s.show(t,(function(e){"closed"===e&&c.loadView("/authorize-customer-portal/error",null,{replaceState:!0})}),(function(e){c.loadView("/authorize-customer-portal/error",null,{replaceState:!0})})).focus(),c.loadView("/authorize-customer-portal/authorizing",null,{clearAlerts:!0}),c.next())}}])})),define("app/views/authorizeCustomerPortalController",["angular","cjt/util/locale","cjt/services/alertService","cjt/directives/loadingPanel","app/services/oauth2PopupService","app/services/ticketUrlService","app/services/wizardApi"],(function(e,t){return e.module("whm.createSupportTicket").controller("authorizeCustomerPortalController",["$scope","$routeParams","alertService","wizardApi","oauth2PopupService","ticketUrlService",function(e,r,o,i,n,a){i.verifyStep(/authorize-customer-portal\/.*$/)&&(e.$watch((function(){return r.status}),(function(){e.status=r.status,"error"===e.status?o.getAlerts().length||o.add({message:t.maketext("The [asis,cPanel Customer Portal] authorization window appears closed, but the server did not receive an authorization response."),type:"danger",replace:!0,id:"closed-auth-window"}):"authorizing"!==e.status&&"verifying"!==e.status?i.reset():"verifying"===e.status&&i.next()})),e.retry=function(){n.show(e,(function(e){"closed"===e&&i.loadView("/authorize-customer-portal/error",null,{replaceState:!0})}),(function(e){i.loadView("/authorize-customer-portal/error",null,{replaceState:!0})})).focus(),i.loadView("/authorize-customer-portal/authorizing",null,{clearAlerts:!0,replaceState:!0})},e.cancel=function(){i.loadView("/start",null,{clearAlerts:!0,replaceState:!0}),i.reset(!0)},e.getTicketUrl=a.getTicketUrl)}])})),define("app/views/termsofserviceController",["angular","cjt/util/locale","cjt/directives/loadingPanel"],(function(e,t){return e.module("whm.createSupportTicket").controller("termsofserviceController",["$scope","$q","pageState","wizardApi","ticketService","ticketUrlService",function(e,r,o,i,n,a){if(i.verifyStep(/tos$/)){e.tos={},e.uiState={loading:!1,failed:!1},e.alertDetailsMessage="",e.alertDetailsVisible=!1,e.toggleMore=function(t){e.alertDetailsMessage?e.alertDetailsVisible=t:e.alertDetailsVisible=!1},e.getTicketUrl=a.getTicketUrl,e.cancel=function(){i.loadView("/start",null,{clearAlerts:!0,replaceState:!0}),i.reset(!0)};i.configureStep({nextFn:function(){return o.data.tos.accepted=!0,i.loadView("/grant"),!0},previousFn:function(){return i.reset(),!1},nextButtonText:t.maketext("Agree to Terms")}),e.loadTechnicalSupportAgreement=function(){return o.tos?(o.tos.accepted||(e.tos=o.tos,e.uiState={loading:!1,failed:!1}),r.resolve()):(e.uiState={loading:!0,failed:!1},i.disableNextButton(),n.fetchTechnicalSupportAgreement().then((function(t){e.tos=t.data,i.enableNextButton(),e.uiState={loading:!1,failed:!1}})).catch((function(t){return e.uiState={loading:!1,failed:!0},e.alertDetailsMessage=t,r.reject(t)})))},e.loadTechnicalSupportAgreement().then((function(){o.tos.accepted&&(i.loadView("/grant"),i.next())}))}}])})),define("app/views/grantController",["angular","cjt/util/locale","cjt/directives/alert"],(function(e,t){return e.module("whm.createSupportTicket").controller("grantController",["$scope","pageState","wizardApi",function(t,r,o){if(o.verifyStep(/grant$/)){t.allowGrant=!!e.isUndefined(r.data.grant.allow)||r.data.grant.allow,t.initGrant=!0,t.toggleAllow=function(){t.initGrant=!1,t.allowGrant=!t.allowGrant},t.stopPropagation=function(e){t.initGrant=!1,e.stopPropagation()};o.configureStep({nextFn:function(){return r.data.grant.allow=t.allowGrant,o.loadView("/processing"),!0},previousFn:function(){return r.tos.accepted?(o.reset(),!1):(o.loadView("/tos"),!0)}})}}])})),define("app/views/supportInfoController",["angular","cjt/util/locale","cjt/directives/alert"],(function(e,t){"use strict";return e.module("whm.createSupportTicket").controller("supportInfoController",["$scope","pageState","wizardApi","ticketService",function(e,t,r,o){if(r.verifyStep(/supportinfo$/)){e.supportinfo={},e.uiState={},e.uiState.loading=!0,r.disableNextButton();var i=function(){return e.uiState.loading=!1,r.enableNextButton(),t.tos&&t.tos.accepted?r.loadView("/grant",null,{clearAlerts:!0}):r.loadView("/tos",null,{clearAlerts:!0}),!0};r.configureStep({nextFn:function(){return i(),!0},previousFn:function(){return r.enableNextButton(),r.reset(),!1}}),e.toggleNext=function(){e.cpanelSupportWarning?r.enableNextButton():r.disableNextButton()},e.loadSupportInformation=function(){return o.fetchSupportInfo().then((function(t){e.supportinfo=t.data,e.uiState.loading=!1,(""===e.supportinfo.data.company_name||""===e.supportinfo.data.pub_tech_contact||e.supportinfo.data.pub_tech_contact.indexOf("tickets.cpanel.net")>-1)&&i()})).catch((function(e){return i()}))},e.loadSupportInformation()}}])})),define("app/services/sshTestService",["angular","lodash","cjt/util/parse","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(e,t,r,o){e.module("whm.createSupportTicket").factory("sshTestService",["$q","APIService",function(t,r){var i=function(){};return i.prototype=new r,e.extend(i.prototype,{startTest:function(t,r){if(e.isUndefined(r)&&(r=1),!e.isNumber(t))throw new TypeError("Developer Error: ticketId must be a number");if(!e.isNumber(r))throw new TypeError("Developer Error: serverNum must be a number");var i=new o.Class;return i.initialize("","ticket_ssh_test_start"),i.addArgument("ticket_id",t),i.addArgument("server_num",r),this.deferred(i).promise}}),new i}])})),define("app/views/processingController",["angular","cjt/util/locale","cjt/services/alertService","cjt/services/popupService","cjt/directives/processingIconDirective","app/services/ticketService","app/services/sshTestService"],(function(e,t){return e.module("whm.createSupportTicket").controller("processingController",["$scope","$interval","$q","alertService","pageState","wizardState","wizardApi","popupService","ticketUrlService","processingIconStates","ticketService","sshTestService",function(r,o,i,n,a,s,c,u,l,p,d,f){if(/processing$/.test(c.getView())){c.configureStep(),c.hideFooter();var v,h={};r.work={states:{initializeRequest:p.default,logTsa:p.default,logAuthorizeSupport:p.default,startSshTest:p.default,updateRequest:p.default,transferring:p.default}},r.ui={showTsa:!a.tos.accepted,showAccess:a.data.grant.allow,processingError:null},r.isPopupBlocked=!1,r.openTicketWizard=k,v=i.resolve(),a.tos.accepted||(r.work.states.logTsa=p.run,v=d.updateAgreementApproval().then((function(e){delete a.data.tos.accepted,a.tos.accepted=!0,h.tsaRecorded=!0,r.work.states.logTsa=p.done})).catch((function(e){return r.work.states.logTsa=p.error,i.reject({error:e,message:t.maketext("The system failed to log agreement to the Technical Support Agreement with the following error: [_1]",e),id:"tsaSaveError"})}))),v=v.then(w),a.data.grant.allow&&(v=v.then(g).then(m)),(v=v.then((function(){k()}))).catch(S)}else c.reset();function w(){return r.work.states.initializeRequest=p.run,d.createStubTicket().then((function(e){return r.work.states.initializeRequest=p.done,h.ticketId=e,e})).catch((function(e){return r.work.states.initializeRequest=p.error,i.reject({error:e,message:t.maketext("The system failed to create a stub ticket with the following error: [_1]",e),id:"stubTicketCreateError"})}))}function g(e){r.work.states.logAuthorizeSupport=p.run;var o={chain_status:"iptables",hulk_wl_status:"cPHulk",csf_wl_status:"CSF",host_access_wl_status:t.maketext("Host Access Control")};return d.grantAccess().catch((function(e){return r.work.states.logAuthorizeSupport=p.error,i.reject({error:e,message:t.maketext("The system failed to authorize access to the server with following error: [_1]",e),id:"grantAccessError"})})).then((function(i){var a=!1;return["chain_status","hulk_wl_status","csf_wl_status","host_access_wl_status"].forEach((function(e){i.data[e]&&"ACTIVE"!==i.data[e]&&(n.add({message:t.maketext("The system failed to add whitelist rules for “[_1]” while configuring access for [asis,cPanel] support.",o[e]),type:"warning",id:"grant-access-"+e.replace(/_status$/,"")+"-warning",replace:!1}),a=!0)})),i.data.non_fatals&&i.data.non_fatals.length&&n.add({message:t.maketext("The following non-fatal [numerate,_1,error,errors] occurred while allowing [asis,cPanel] support access to this server:",i.data.non_fatals.length),list:i.data.non_fatals,type:"warning",id:"grant-access-non-fatal-warning",replace:!1}),h.grantedAccess=!0,r.work.states.logAuthorizeSupport=a?p.unknown:p.done,e}))}function m(e){return r.work.states.startSshTest=p.run,f.startTest(e,1).then((function(t){return h.sshTestStarted=!0,r.work.states.startSshTest=p.done,e})).catch((function(o){return n.add({message:t.maketext("The system failed to initiate an [asis,SSH] connection test for this server: [_1]",o),type:"warning",id:"ssh-test-warning"}),r.work.states.startSshTest=p.error,e}))}function S(e){e&&e.id?r.processingError=e:r.processingError={message:t.maketext("The system failed to process your request because of an error: [_1]",e),id:"unknown-error"}}function k(){!function(t){var o={"tsa-recorded":h.tsaRecorded||a.tos.accepted?1:0,"access-granted":h.grantedAccess?1:0,"ssh-test-started":h.sshTestStarted?1:0,step:t.step,"max-steps":t.maxSteps};h.ticketId&&(o["ticket-id"]=h.ticketId);var i=l.getTicketUrl("cpanelnwf",o),n=u.openPopupWindow(i,"_blank",{newTab:!0});!n||n.closed||e.isUndefined(n.closed)?r.isPopupBlocked=!0:(r.isPopupBlocked=!1,n.focus()),r.processingError||(r.work.states.transferring=r.isPopupBlocked?p.unknown:p.done)}(s)}}])})),define("app/index",["angular","jquery","cjt/modules","ngRoute","ngAnimate","ngSanitize","uiBootstrap"],(function(e,t){return function(){return e.module("whm.createSupportTicket",["cjt2.config.whm.configProvider","ngRoute","ngAnimate","ngSanitize","ui.bootstrap","cjt2.whm"]),require(["cjt/bootstrap","cjt/util/parse","cjt/util/locale","cjt/views/applicationController","cjt/directives/alertList","cjt/services/autoTopService","cjt/services/whm/breadcrumbService","app/services/wizardApi","app/views/wizardController","app/views/startController","app/views/authorizeCustomerPortalController","app/views/termsofserviceController","app/views/grantController","app/views/supportInfoController","app/views/processingController","app/services/ticketService"],(function(t,r,o){var i=e.module("whm.createSupportTicket");i.firstLoad={},PAGE.is_dns_only=r.parsePerlBoolean(PAGE.is_dns_only),PAGE.is_tickets_authenticated=r.parsePerlBoolean(PAGE.is_tickets_authenticated),PAGE.is_cpanel_direct=r.parsePerlBoolean(PAGE.is_cpanel_direct),PAGE.data={start:{},tos:{},grant:{}},i.value("pageState",PAGE);var n={step:0,maxSteps:7,footer:!1,view:"/start"};PAGE.is_tickets_authenticated&&(n.maxSteps-=3),i.value("wizardState",n),i.config(["$routeProvider",function(e){e.when("/start",{controller:"startController",templateUrl:"support/create_support_ticket/views/startView.ptt",breadcrumb:o.maketext("Select Issue Type")}),e.when("/authorize-customer-portal/:status?",{controller:"authorizeCustomerPortalController",templateUrl:"support/create_support_ticket/views/authorizeCustomerPortalView.ptt",breadcrumb:o.maketext("Authorize Customer Portal")}),e.when("/tos",{controller:"termsofserviceController",templateUrl:"support/create_support_ticket/views/termsofserviceView.ptt",breadcrumb:o.maketext("Technical Support Agreement")}),e.when("/grant",{controller:"grantController",templateUrl:"support/create_support_ticket/views/grantView.ptt",breadcrumb:o.maketext("Authorize Support Access")}),e.when("/processing",{controller:"processingController",templateUrl:"support/create_support_ticket/views/processingView.ptt",breadcrumb:o.maketext("Processing")}),e.when("/supportinfo",{controller:"supportInfoController",templateUrl:"support/create_support_ticket/views/supportInfoView.ptt",breadcrumb:o.maketext("Support Information")}),e.otherwise({redirectTo:"/start"})}]),i.run(["autoTopService","breadcrumbService","ticketService","wizardState",function(e,t,r){e.initialize(),t.initialize(),r.setAuthState(PAGE.is_tickets_authenticated),delete PAGE.is_tickets_authenticated}]),t(document,"whm.createSupportTicket")}))}}));
Back to Directory File Manager