Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/convert_addon_to_account/views/db_options.min.js
define(["angular","lodash","cjt/util/locale","app/models/dynamic_table","cjt/decorators/growlDecorator","cjt/decorators/paginationDecorator","cjt/directives/toggleSortDirective","cjt/directives/searchDirective","cjt/directives/pageSizeDirective","cjt/filters/startFromFilter","app/services/ConvertAddonData","app/services/Databases","app/directives/db_name_validators"],(function(angular,_,LOCALE,DynamicTable){var app=angular.module("App");var controller=app.controller("databaseSelectionController",["$q","$location","$routeParams","growl","ConvertAddonData","Databases","$anchorScroll",function($q,$location,$routeParams,growl,ConvertAddonData,Databases,$anchorScroll){var db_selection_vm=this;db_selection_vm.ui={};db_selection_vm.ui.is_loading=false;db_selection_vm.ui.domain_exists=false;db_selection_vm.this_domain={};db_selection_vm.is_prefixing_enabled=void 0;db_selection_vm.move_type="move";db_selection_vm.database_name_max_length=CPANEL.sql.get_name_length_limit("mysql","database");var db_table=new DynamicTable;db_table.setSort("db_name");var user_table=new DynamicTable;user_table.setSort("user_name");function searchDbsFunction(item,searchText){return item.db_name.indexOf(searchText)!==-1}db_table.setFilterFunction(searchDbsFunction);function searchUsersFunction(item,searchText){return item.user_name.indexOf(searchText)!==-1}user_table.setFilterFunction(searchUsersFunction);db_selection_vm.dbs={checkDropdownOpen:false,allRowsSelected:db_table.areAllDisplayedRowsSelected(),meta:db_table.getMetadata(),filteredList:db_table.getList(),totalSelected:db_table.getTotalRowsSelected(),paginationMessage:db_table.paginationMessage,fetch:function(){db_selection_vm.dbs.filteredList=db_table.populate();db_selection_vm.dbs.allRowsSelected=db_table.areAllDisplayedRowsSelected();db_selection_vm.dbs.totalSelected=db_table.getTotalRowsSelected()},sortList:function(){db_selection_vm.dbs.fetch()},selectPage:function(){db_selection_vm.dbs.fetch()},selectPageSize:function(){db_selection_vm.dbs.fetch()},searchList:function(){db_selection_vm.dbs.fetch()},selectAll:function(model){db_table.selectAllDisplayed(model);db_selection_vm.dbs.fetch();db_selection_vm.dbs.allRowsSelected=db_table.areAllDisplayedRowsSelected();db_selection_vm.dbs.totalSelected=db_table.getTotalRowsSelected()},selectDb:function(db){db_table.selectItem(db);db_selection_vm.dbs.allRowsSelected=db_table.areAllDisplayedRowsSelected();db_selection_vm.dbs.totalSelected=db_table.getTotalRowsSelected()},clearAllSelections:function(event){event.preventDefault();event.stopPropagation();db_table.clearAllSelections();db_selection_vm.dbs.checkDropdownOpen=false;db_selection_vm.dbs.allRowsSelected=db_table.areAllDisplayedRowsSelected();db_selection_vm.dbs.totalSelected=db_table.getTotalRowsSelected()}};db_selection_vm.users={checkDropdownOpen:false,allRowsSelected:user_table.areAllDisplayedRowsSelected(),meta:user_table.getMetadata(),filteredList:user_table.getList(),totalSelected:user_table.getTotalRowsSelected(),paginationMessage:user_table.paginationMessage,fetch:function(){db_selection_vm.users.filteredList=user_table.populate();db_selection_vm.users.allRowsSelected=user_table.areAllDisplayedRowsSelected();db_selection_vm.users.totalSelected=user_table.getTotalRowsSelected()},sortList:function(){db_selection_vm.users.fetch()},selectPage:function(){db_selection_vm.users.fetch()},selectPageSize:function(){db_selection_vm.users.fetch()},searchList:function(){db_selection_vm.users.fetch()},selectAll:function(model){user_table.selectAllDisplayed(model);db_selection_vm.users.fetch();db_selection_vm.users.allRowsSelected=user_table.areAllDisplayedRowsSelected();db_selection_vm.users.totalSelected=user_table.getTotalRowsSelected()},selectUser:function(db){user_table.selectItem(db);db_selection_vm.users.allRowsSelected=user_table.areAllDisplayedRowsSelected();db_selection_vm.users.totalSelected=user_table.getTotalRowsSelected()},clearAllSelections:function(event){event.preventDefault();event.stopPropagation();user_table.clearAllSelections();db_selection_vm.users.checkDropdownOpen=false;db_selection_vm.users.allRowsSelected=user_table.areAllDisplayedRowsSelected();db_selection_vm.users.totalSelected=user_table.getTotalRowsSelected()}};function convertDBObjectToList(dbs){var existing_db;var has_selections=db_selection_vm.this_domain.move_options["mysql_dbs"]&&db_selection_vm.this_domain.move_options["mysql_dbs"].length>0;var prefix=Databases.createPrefix(db_selection_vm.this_domain.account_settings.username);var data=[];for(var db in dbs){if(dbs.hasOwnProperty(db)){if(has_selections&&(existing_db=_.find(db_selection_vm.this_domain.move_options.mysql_dbs,{name:db}))!==void 0){data.push({db_name:db,db_users:dbs[db],selected:true,db_new_name:existing_db.new_name,db_prefix:prefix})}else{data.push({db_name:db,db_users:dbs[db],selected:false,db_new_name:"",db_prefix:prefix})}existing_db=void 0}}db_table.loadData(data)}function convertUsersObjectToList(users){var existing_user;var has_selections=db_selection_vm.this_domain.move_options["mysql_users"]&&db_selection_vm.this_domain.move_options["mysql_users"].length>0;var data=[];for(var user in users){if(users.hasOwnProperty(user)){if(has_selections&&(existing_user=_.find(db_selection_vm.this_domain.move_options.mysql_users,{name:user}))!==void 0){data.push({user_name:user,user_databases:users[user],selected:true})}else{data.push({user_name:user,user_databases:users[user],selected:false})}existing_user=void 0}}user_table.loadData(data)}db_selection_vm.disableSave=function(form){return form.$dirty&&form.$invalid};db_selection_vm.saveOptions=function(form){if(!form.$valid){return}db_selection_vm.this_domain.modified=true;var selected_dbs=db_table.getSelectedList();db_selection_vm.this_domain.move_options.db_move_type=db_selection_vm.move_type;db_selection_vm.this_domain.move_options["mysql_dbs"]=selected_dbs.map((function(item){return{name:item.db_name,new_name:item.db_new_name}}));if(db_selection_vm.this_domain.move_options.db_move_type==="move"){var selected_users=user_table.getSelectedList();db_selection_vm.this_domain.move_options["mysql_users"]=selected_users.map((function(item){return{name:item.user_name}}))}else{db_selection_vm.this_domain.move_options["mysql_users"]=[]}return $location.path("/convert/"+db_selection_vm.domain_name+"/migrations")};db_selection_vm.goBack=function(){return $location.path("/convert/"+db_selection_vm.domain_name+"/migrations")};db_selection_vm.init=function(){db_selection_vm.ui.is_loading=true;ConvertAddonData.getAddonDomain($routeParams.addondomain).then((function(data){if(Object.keys(data).length){db_selection_vm.domain_name=data.addon_domain;db_selection_vm.this_domain=data;if(data.move_options.db_move_type){db_selection_vm.move_type=data.move_options.db_move_type}return Databases.getDatabases(db_selection_vm.this_domain.owner).then((function(data){convertDBObjectToList(data);convertUsersObjectToList(Databases.getUsers());db_selection_vm.is_prefixing_enabled=Databases.isPrefixingEnabled();if(db_selection_vm.is_prefixing_enabled){db_selection_vm.database_name_max_length-=Databases.getPrefixLength()}db_selection_vm.dbs.fetch();db_selection_vm.users.fetch();db_selection_vm.ui.domain_exists=true})).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])}}))}else{db_selection_vm.domain_name=$routeParams.addondomain;db_selection_vm.ui.domain_exists=false}})).finally((function(){db_selection_vm.ui.is_loading=false;$location.hash("pageContainer");$anchorScroll()}))};db_selection_vm.init()}]);return controller}));
Back to Directory