Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/market_provider_manager/views/manageController.js
/*
# templates/ssl_provider_manager/views/manageController.js
# Copyright(c) 2020 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/
/* global define: false */
/* jshint -W100 */
define(
[
"lodash",
"angular",
"cjt/util/locale",
"uiBootstrap",
"cjt/directives/toggleSortDirective",
"cjt/directives/actionButtonDirective",
"cjt/directives/toggleSwitchDirective",
"cjt/validator/email-validator",
"cjt/directives/validationContainerDirective",
"cjt/directives/validationItemDirective",
],
function(_, angular, LOCALE) {
// Retrieve the current application
var app = angular.module("App");
// Setup the controller
var controller = app.controller(
"manageController", [
"$scope",
"manageService",
"editCPStoreService",
"growl",
function($scope, manageService, editCPStoreService, growl) {
function _growl_error(error) {
return growl.error( _.escape(error) );
}
$scope.set_provider = function(provider, enabled) {
var enable_message = LOCALE.maketext("The system successfully enabled the Market provider “[_1]”.", _.escape(provider.name));
var disabled_message = LOCALE.maketext("The system successfully disabled the Market provider “[_1]”.", _.escape(provider.name));
var success_message = enabled ? enable_message : disabled_message;
return manageService.set_provider_enabled_status(provider, enabled).then(function() {
growl.success(success_message);
if (enabled && provider.supports_commission) {
var promise = check_for_commission_id_and_set_if_does_not_exist(provider.name);
return promise.then(function(success) {
provider.enabled = enabled;
$scope.$parent.go("edit_cpstore_config", 2);
}, function(error) {
provider.enabled = enabled;
$scope.$parent.go("edit_cpstore_config", 2);
});
} else {
provider.enabled = enabled;
}
}, _growl_error);
};
var check_for_commission_id_and_set_if_does_not_exist = function(provider) {
return editCPStoreService.fetch_market_providers_commission_config().then(function(success) {
var provider_needs_commission_id = false;
for (var x = 0; x < success.data.length; x++ ) {
if (success.data[x].provider_name === provider && !success.data[x].remote_commission_id) {
provider_needs_commission_id = true;
}
}
if ( provider_needs_commission_id && $scope.CONTACTEMAIL ) {
// if no remote commission id, set one, otherwise we're done
return editCPStoreService.set_commission_id(provider, $scope.CONTACTEMAIL).then(function(success) {
growl.success(LOCALE.maketext("The system successfully set the commission [asis,ID] for the provider “[_1]” to “[_2]”.", _.escape(provider), _.escape($scope.CONTACTEMAIL)));
}, function(error) {
// We silence errors because they just might not be able to set it to an email
});
}
}, _growl_error);
};
$scope.init = function() {
$scope.fetching_products = true;
$scope.locale = LOCALE;
$scope.providers = manageService.get_providers();
$scope.$parent.loading = true;
manageService.fetch_products().then(function(result) {
angular.forEach(result.meta.warnings, function(value) {
growl.warning( _.escape(value) );
});
$scope.products = manageService.get_products();
}, _growl_error).finally(function() {
if ($scope && $scope.$parent) {
$scope.$parent.loading = false;
}
$scope.fetching_products = false;
});
manageService.fetch_contact_email().then(function() {
$scope.CONTACTEMAIL = manageService.get_contact_email();
}, _growl_error);
};
$scope.init();
}
]
);
return controller;
}
);
Back to Directory
File Manager