Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/convert_addon_to_account/views/move_options.min.js

define(["angular","cjt/util/locale","cjt/decorators/growlDecorator","cjt/validator/email-validator","cjt/directives/validationItemDirective","cjt/directives/validationContainerDirective","cjt/directives/validateEqualsDirective","cjt/directives/actionButtonDirective","app/services/ConvertAddonData","app/services/Databases","app/services/account_packages","app/directives/move_status"],(function(angular,LOCALE){var app=angular.module("App");var controller=app.controller("moveSelectionController",["$q","$location","$routeParams","defaultInfo","growl","ConvertAddonData","Databases","AccountPackages","$scope",function($q,$location,$routeParams,defaultInfo,growl,ConvertAddonData,Databases,AccountPackages,$scope){var move_options_vm=this;move_options_vm.ui={};move_options_vm.ui.is_loading=false;move_options_vm.ui.domain_exists=false;move_options_vm.ui.is_conversion_started=false;move_options_vm.enable_db_button=false;move_options_vm.this_domain={};move_options_vm.copy_mysql_dbs=false;move_options_vm.has_dedicated_ip=false;move_options_vm.account_packages=[];move_options_vm.ip_addr_will_change=false;move_options_vm.selected_package=void 0;move_options_vm.stats={};move_options_vm.no_databases_tooltip=LOCALE.maketext("Disabled because there are no databases to move");move_options_vm.no_email_tooltip=LOCALE.maketext("Disabled because there are no email-related items to move");function init(){move_options_vm.ui.is_loading=true;ConvertAddonData.getAddonDomainDetails($routeParams.addondomain).then((function(data){if(Object.keys(data).length){move_options_vm.domain_name=data.addon_domain;move_options_vm.this_domain=data;move_options_vm.this_domain.account_settings.domain=data.addon_domain;if(move_options_vm.this_domain.account_settings.email===void 0){move_options_vm.this_domain.account_settings.email=""}if(move_options_vm.this_domain.account_settings.pkgname===void 0){move_options_vm.this_domain.account_settings.pkgname=""}if(move_options_vm.this_domain.account_settings.username===void 0){move_options_vm.generate_username(move_options_vm.domain_name)}if(move_options_vm.this_domain.details.has_dedicated_ip===1){move_options_vm.ip_addr_will_change=true}move_options_vm.show_ssl_copy_option=move_options_vm.this_domain.move_options["copy-installed-ssl-cert"]&&move_options_vm.this_domain.details.has_ssl_cert_installed===1;if(!move_options_vm.this_domain.modified){change_defaults(move_options_vm.this_domain);move_options_vm.this_domain.modified=false}stringify_stats(move_options_vm.this_domain.details);move_options_vm.move_email_category=move_options_vm.this_domain.move_options["email-accounts"]||move_options_vm.this_domain.move_options["email-forwarders"]||move_options_vm.this_domain.move_options["autoresponders"];move_options_vm.disable_email_button=move_options_vm.this_domain.details.number_of_email_accounts+move_options_vm.this_domain.details.number_of_domain_forwarders+move_options_vm.this_domain.details.number_of_email_forwarders+move_options_vm.this_domain.details.number_of_autoresponders===0;move_options_vm.move_db_category=move_options_vm.this_domain.move_options.mysql_dbs.length||move_options_vm.this_domain.move_options.mysql_users.length;move_options_vm.copy_mysql_dbs=move_options_vm.this_domain.move_options.db_move_type==="copy"?true:false;move_options_vm.move_website_data=move_options_vm.this_domain.move_options["docroot"]||move_options_vm.this_domain.move_options["custom-vhost-includes"]||move_options_vm.this_domain.move_options["copy-installed-ssl-cert"];move_options_vm.move_subaccount_category=move_options_vm.this_domain.move_options["ftp-accounts"]||move_options_vm.this_domain.move_options["webdisk-accounts"];move_options_vm.selected_dbs_message=move_options_vm.copy_mysql_dbs?LOCALE.maketext("You selected the following [asis,MySQL] databases to copy:"):LOCALE.maketext("You selected the following [asis,MySQL] databases to move:");return $q.all([Databases.getDatabases(move_options_vm.this_domain.owner),AccountPackages.listPackages()]).then((function(data){move_options_vm.enable_db_button=Object.keys(data[0]).length>0;move_options_vm.account_packages=data[1];for(var i=0,len=move_options_vm.account_packages.length;i<len;i++){if(move_options_vm.account_packages[i].name&&move_options_vm.account_packages[i].name===move_options_vm.this_domain.account_settings.pkgname){move_options_vm.selected_package=move_options_vm.account_packages[i]}}if(move_options_vm.this_domain.account_settings.pkgname===""){move_options_vm.selected_package=move_options_vm.account_packages[0]}move_options_vm.sync_pkg_settings()})).catch((function(meta){var len=meta.errors.length;if(len>1){growl.error(meta.reason)}for(var i=0;i<len;i++){growl.error(meta.errors[i])}})).finally((function(){move_options_vm.ui.domain_exists=true}))}else{move_options_vm.domain_name=$routeParams.addondomain;move_options_vm.ui.domain_exists=false}})).finally((function(){move_options_vm.ui.is_loading=false}))}function stringify_stats(data){move_options_vm.stats.email={accounts:LOCALE.maketext("[quant,_1,Email account,Email accounts]",data.number_of_email_accounts),forwarders:LOCALE.maketext("[quant,_1,Forwarder,Forwarders]",data.number_of_email_forwarders+data.number_of_domain_forwarders),autoresponders:LOCALE.maketext("[quant,_1,Autoresponder,Autoresponders]",data.number_of_autoresponders)}}function change_defaults(data){if(data.details.number_of_email_accounts===0){move_options_vm.this_domain.move_options["email-accounts"]=false}var total_forwarders=data.details.number_of_domain_forwarders+data.details.number_of_email_forwarders;if(total_forwarders===0){move_options_vm.this_domain.move_options["email-forwarders"]=false}if(data.details.number_of_autoresponders===0){move_options_vm.this_domain.move_options["autoresponders"]=false}move_options_vm.show_ssl_copy_option=move_options_vm.this_domain.details.has_ssl_cert_installed===1;move_options_vm.sync_pkg_settings()}move_options_vm.sync_pkg_settings=function(){if(move_options_vm.this_domain.details.has_dedicated_ip===1||move_options_vm.has_dedicated_ip){move_options_vm.ip_addr_will_change=true}else{move_options_vm.ip_addr_will_change=false}};move_options_vm.generate_username=function(domain){var username=domain.replace(/^\d+/,"").replace(/\.[^.]+$/,"").replace(/[^A-Za-z0-9]/g,"").substr(0,defaultInfo.username_restrictions.maxLength);move_options_vm.this_domain.account_settings.username=username.toLowerCase()};move_options_vm.disableSave=function(form){return form.$dirty&&form.$invalid||move_options_vm.ui.is_conversion_started||!move_options_vm.account_packages.length};move_options_vm.addDbPrefix=function(db){if(Databases.isPrefixingEnabled()){return Databases.addPrefixIfNeeded(db,move_options_vm.this_domain.account_settings.username)}return db};$scope.$watch((function(){return move_options_vm.selected_package}),(function(newPkg,oldPkg){if(Object.keys(move_options_vm.this_domain).length===0||newPkg===void 0){return}if(newPkg===null){move_options_vm.has_dedicated_ip=false;move_options_vm.this_domain.account_settings.pkgname=""}else{move_options_vm.has_dedicated_ip=newPkg.IP==="y"?true:false;move_options_vm.this_domain.account_settings.pkgname=newPkg.name}move_options_vm.sync_pkg_settings()}));move_options_vm.startConversion=function(form){if(!form.$valid){return}move_options_vm.this_domain.modified=true;if(Databases.isPrefixingEnabled()&&move_options_vm.this_domain.move_options.db_move_type==="copy"){for(var j=0,dblen=move_options_vm.this_domain.move_options.mysql_dbs.length;j<dblen;j++){var db=move_options_vm.this_domain.move_options.mysql_dbs[j];db.new_name=Databases.addPrefix(db.new_name,move_options_vm.this_domain.account_settings.username)}}return ConvertAddonData.beginConversion(move_options_vm.this_domain).then((function(data){growl.success(LOCALE.maketext("The system started the conversion process for “[_1]”.",move_options_vm.domain_name));move_options_vm.ui.is_conversion_started=true;return $location.path("/history")})).catch((function(meta){var len=meta.errors.length;if(len>1){growl.error(meta.reason)}for(var i=0;i<len;i++){growl.error(meta.errors[i])}move_options_vm.ui.is_conversion_started=false}))};move_options_vm.goToEditView=function(category){return $location.path("/convert/"+move_options_vm.domain_name+"/migrations/edit/"+category)};move_options_vm.goToMain=function(){move_options_vm.this_domain.account_settings={};return $location.path("/main")};init()}]);return controller}));
Back to Directory