Viewing File: /usr/local/cpanel/base/webmail/jupiter/account_preferences/views/main.js
/*
# cpanel - base/webmail/jupiter/account_preferences/views/main.js
# Copyright 2022 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 */
define(
[
"angular",
"lodash",
"cjt/util/locale",
"app/services/accountPrefs",
"cjt/modules",
"cjt/services/alertService",
"cjt/directives/toggleSwitchDirective",
"cjt/directives/toggleLabelInfoDirective",
],
function(angular, _, LOCALE, AccountPrefsService) {
"use strict";
var initialLoadVariable = "MAILBOX_AUTOCREATION_ENABLED";
var MODULE_NAMESPACE = "webmail.accountPrefs.views.main";
var TEMPLATE_URL = "views/main.ptt";
var MODULE_DEPENDANCIES = [];
var CONTROLLER_INJECTABLES = ["$scope", AccountPrefsService.serviceName, "alertService", initialLoadVariable, "RESOURCE_TEMPLATE", "EMAIL_ADDRESS", "DISPLAY_EMAIL_ADDRESS"];
var CONTROLLER_NAME = "MainController";
var CONTROLLER = function AccountPreferencesMainController($scope, $service, $alertService, mailboxAutoCreationEnabled, RESOURCE_TEMPLATE, email, displayEmailAddress) {
$scope.email = email;
$scope.displayEmailAddress = _.escape(displayEmailAddress);
$scope.examplePlusAddress = $scope.displayEmailAddress.split("@").join("+plusaddress@");
$scope.resourcesPanelTemplate = RESOURCE_TEMPLATE;
$scope.mailboxAutoCreationEnabled = mailboxAutoCreationEnabled;
/**
* Enable Auto Folder Creation (Plus Addressing)
*
* @returns {Promise} update service promise
*/
$scope.enableMailboxAutoCreate = function enableMailboxAutoCreate() {
var onSuccess = $alertService.success.bind($alertService, LOCALE.maketext("You enabled automatic folder creation for “[_1]”.", $scope.displayEmailAddress));
var onError = $alertService.add.bind($alertService, {
type: "danger",
message: LOCALE.maketext("The system could not enable automatic folder creation for “[_1]”.", $scope.displayEmailAddress),
});
return $service.enableMailboxAutoCreate($scope.email).then(onSuccess, onError);
};
/**
* Disable Auto Folder Creation (Plus Addressing)
*
* @returns {Promise} update service promise
*/
$scope.disableMailboxAutoCreate = function disableMailboxAutoCreate() {
var onSuccess = $alertService.success.bind($alertService, LOCALE.maketext("You disabled automatic folder creation for “[_1]”.", $scope.displayEmailAddress));
var onError = $alertService.add.bind($alertService, {
type: "danger",
message: LOCALE.maketext("The system could not disable automatic folder creation for “[_1]”.", $scope.displayEmailAddress),
});
return $service.disableMailboxAutoCreate($scope.email).then(onSuccess, onError);
};
/**
* Toggle Whether Auto Folder Creation (Plus Addressing) is enabled
*
* @returns {Promise} update service promise
*/
$scope.toggleAutoFolderCreation = function toggleAutoFolderCreation() {
$scope.mailboxAutoCreationEnabled = !$scope.mailboxAutoCreationEnabled;
return $scope.mailboxAutoCreationEnabled ? $scope.enableMailboxAutoCreate() : $scope.disableMailboxAutoCreate();
};
};
var app = angular.module(MODULE_NAMESPACE, MODULE_DEPENDANCIES);
app.controller(CONTROLLER_NAME, CONTROLLER_INJECTABLES.concat(CONTROLLER));
var resolver = {};
resolver[initialLoadVariable] = [
AccountPrefsService.serviceName,
"EMAIL_ADDRESS",
function($service, EMAIL_ADDRESS) {
return $service.isMailboxAutoCreateEnabled(EMAIL_ADDRESS);
},
];
return {
"controller": CONTROLLER_NAME,
"class": CONTROLLER,
"template": TEMPLATE_URL,
"namespace": MODULE_NAMESPACE,
"resolver": resolver,
};
}
);
Back to Directory
File Manager