define("app/services/mailPrefService",["angular","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(e,r,t){var a;try{a=e.module("App")}catch(r){a=e.module("App",["cjt2.services.api"])}a.factory("mailPrefService",["$q","APIService",function(r,a){var n=function(){};return n.prototype=new a,e.extend(n.prototype,{get_user_email_forward_destination:function(e){var r=new t.Class;return r.initialize("","get_user_email_forward_destination"),r.addArgument("user",e),this.deferred(r).promise},set_user_email_forward_destination:function(e,r){var a=new t.Class;return a.initialize("","set_user_email_forward_destination"),a.addArgument("user",e),a.addArgument("forward_to",r),this.deferred(a).promise}}),new n}])})),define("app/index",["angular","cjt/util/locale","lodash","uiBootstrap","cjt/core","cjt/modules","cjt/directives/actionButtonDirective"],(function(e,r,t){"use strict";return function(){return e.module("App",["cjt2.config.whm.configProvider","ui.bootstrap","angular-growl","cjt2.whm"]),require(["cjt/bootstrap","ngSanitize","app/services/mailPrefService"],(function(a){var n=e.module("App");n.value("PAGE",PAGE),n.controller("MainController",["$scope","mailPrefService","spinnerAPI","PAGE",function(a,n,i,o){function s(r,t){e.forEach(a.users,(function(e){if(e.user===r){var a=Array.isArray(t)?t:t.split(/\s*,\s*/);e.forward=e.newforward=a}}))}a.users=[],a.get_user_forward=function(e){return i.start(e+"-spinner"),n.get_user_email_forward_destination(e).then((function(r){i.stop(e+"-spinner"),s(e,r.data.forward_to)}))},a.set_user_forward=function(e,r){return i.start(e+"-spinner"),n.set_user_email_forward_destination(e,r).then((function(){i.stop(e+"-spinner"),s(e,r)}))},a.get_panel_title=function(e){return e.forward&&e.forward.length&&e.forward[0].length?r.maketext("The system currently forwards mail for “[output,strong,_1]” to “[list_and,_2]”.",e.user,t.escape(e.forward)):r.maketext("The system does not currently forward mail for “[output,strong,_1]”.",e.user)},a.validate_user=function(t){if(!t.newforward||""===t.newforward)return!0;t.errors=[];var a=Array.isArray(t.newforward)?a:t.newforward.split(/\s*,\s*/);return e.forEach(a,(function(e){/@/.test(e)?CPANEL.validate.email(e,"rfc")||t.errors.push(r.maketext("The email address “[_1]” is not valid.",e)):o.local_users[e]||t.errors.push(r.maketext("The user “[_1]” does not exist on the system.",e))})),!t.errors.length},a.get_submit_label=function(e){return e.newforward!==e.forward&&""===e.newforward?r.maketext("Disable"):r.maketext("Update")},a.get_forward_mail_label=function(e){return r.maketext("Forward mail for “[_1]” to:",e.user)},e.forEach(o.users,(function(e,r){var t={user:r,forward:e,newforward:e};a.validate_user(t),a.users.push(t)}))}]),a(document)}))}}));var init=function(){for(var e=[],r=YAHOO.util.Dom.getElementsByClassName("mail-field"),t=0;t<r.length;t++)e[t]=new CPANEL.validate.validator("Mail Preferences"),e[t].add(r[t],"external_verify_content",LOCALE.maketext("Must be a valid email address or account name")),e[t].attach();for(r=YAHOO.util.Dom.getElementsByClassName("btn-primary"),t=0;t<r.length;t++)CPANEL.validate.attach_to_form(r[t],e[t])};YAHOO.util.Event.onDOMReady(init);