sogo/UI/WebServerResources/js/Preferences.js.map
2015-08-07 10:37:36 -04:00

1 line
20 KiB
Plaintext

{"version":3,"file":"Preferences.js","sources":["Preferences/Preferences.app.js","Preferences/AccountDialogController.js","Preferences/FiltersDialogController.js","Preferences/PreferencesController.js"],"names":["configure","$stateProvider","$urlRouterProvider","state","abstract","views","preferences","templateUrl","controller","controllerAs","resolve","statePreferences","url","module","otherwise","Preferences","runBlock","$rootScope","$on","event","current","previous","rejection","console","error","angular","config","run","$inject","AccountDialogController","$mdDialog","defaults","account","accountId","mailCustomFromEnabled","customFromIsReadonly","cancel","save","hide","vm","this","FiltersDialogController","$scope","filter","mailboxes","labels","fieldLabels","subject","l","from","to","cc","to_or_cc","size","header","body","methodLabels","addflag","discard","fileinto","keep","redirect","reject","vacation","stop","numberOperatorLabels","under","over","textOperatorLabels","is","is_not","contains","contains_not","matches","matches_not","regex","regex_not","flagLabels","seen","deleted","answered","flagged","junk","not_junk","addMailFilterRule","rules","push","removeMailFilterRule","index","splice","addMailFilterAction","actions","removeMailFilterAction","PreferencesController","$state","User","Mailbox","Authentication","go","addCalendarCategory","SOGoCalendarCategoriesColors","SOGoCalendarCategories","removeCalendarCategory","key","addContactCategory","SOGoContactsCategories","removeContactCategory","addMailAccount","ev","AuxiliaryMailAccounts","_","last","name","identities","fullName","email","receipts","receiptAction","receiptNonRecipientAction","receiptOutsideDomainAction","receiptAnyAction","show","targetEvent","locals","length","window","editMailAccount","then","removeMailAccount","addMailLabel","SOGoMailLabelsColors","new_label","removeMailLabel","addMailFilter","SOGoSieveFilters","editMailFilter","copy","removeMailFilter","$save","canChangePassword","passwords","newPassword","newPasswordConfirmation","changePassword","alert","title","content","ok","undefined","msg","timeZonesListFilter","timeZonesList","value","toUpperCase","indexOf","userFilter","$filter","timeZonesSearchText","$find","id"],"mappings":"CAGA,WACE,YAUA,SAASA,WAAUC,eAAgBC,oBACjCD,eACGE,MAAM,eACLC,YAAU,EACVC,OACEC,aACEC,YAAa,mBACbC,WAAY,wBACZC,aAAc,QAGlBC,SACEC,iBAAkBA,oBAGrBR,MAAM,uBACLS,IAAK,WACLP,OACEQ,QACEN,YAAa,8BAIlBJ,MAAM,yBACLS,IAAK,aACLP,OACEQ,QACEN,YAAa,gCAIlBJ,MAAM,4BACLS,IAAK,gBACLP,OACEQ,QACEN,YAAa,mCAIlBJ,MAAM,sBACLS,IAAK,UACLP,OACEQ,QACEN,YAAa,6BAMrBL,mBAAmBY,UAAU,YAO/B,QAASH,kBAAiBI,aACxB,MAAOA,aAOT,QAASC,UAASC,YAChBA,WAAWC,IAAI,oBAAqB,SAASC,MAAOC,QAASC,SAAUC,WACrEC,QAAQC,MAAML,MAAOC,QAASC,SAAUC,aA1E5CG,QAAQZ,OAAO,sBAAuB,aAAc,YAAa,KAAM,cAAe,gBAAiB,kBAAmB,wBACvHa,OAAO1B,WACP2B,IAAIX,UAKPhB,UAAU4B,SAAW,iBAAkB,sBAwDvCjB,iBAAiBiB,SAAW,eAQ5BZ,SAASY,SAAW,iBC1EtB,WACE,YAMA,SAASC,yBAAwBC,UAAWC,SAAUC,QAASC,UAAWC,uBAUxE,QAASC,wBACP,MAAIF,WAAY,GACP,GAEDC,sBAGV,QAASE,UACPN,UAAUM,SAGZ,QAASC,QACPP,UAAUQ,OArBZ,GAAIC,IAAKC,IAETD,IAAGR,SAAWA,SACdQ,GAAGP,QAAUA,QACbO,GAAGN,UAAYA,UACfM,GAAGJ,qBAAuBA,qBAC1BI,GAAGH,OAASA,OACZG,GAAGF,KAAOA,KATZR,wBAAwBD,SAAW,YAAa,WAAY,UAAW,YAAa,yBA2BpFH,QACGZ,OAAO,sBACPL,WAAW,0BAA2BqB,4BCnC3C,WACE,YAMA,SAASY,yBAAwBC,OAAQZ,UAAWa,OAAQC,UAAWC,QACrEH,OAAOC,OAASA,OAChBD,OAAOE,UAAYA,UACnBF,OAAOG,OAASA,OAEhBH,OAAOI,aACLC,QAAWC,EAAE,WACbC,KAAQD,EAAE,QACVE,GAAMF,EAAE,MACRG,GAAMH,EAAE,MACRI,SAAYJ,EAAE,YACdK,KAAQL,EAAE,aACVM,OAAUN,EAAE,UACZO,KAAQP,EAAE,SAGZN,OAAOc,cACLC,QAAWT,EAAE,0BACbU,QAAWV,EAAE,uBACbW,SAAYX,EAAE,wBACdY,KAAQZ,EAAE,oBACVa,SAAYb,EAAE,2BACdc,OAAUd,EAAE,0BACZe,SAAYf,EAAE,2BACdgB,KAAQhB,EAAE,iCAGZN,OAAOuB,sBACLC,MAASlB,EAAE,YACXmB,KAAQnB,EAAE,YAGZN,OAAO0B,oBACLC,GAAMrB,EAAE,MACRsB,OAAUtB,EAAE,UACZuB,SAAYvB,EAAE,YACdwB,aAAgBxB,EAAE,oBAClByB,QAAWzB,EAAE,WACb0B,YAAe1B,EAAE,kBACjB2B,MAAS3B,EAAE,iBACX4B,UAAa5B,EAAE,yBAGjBN,OAAOmC,YACLC,KAAQ9B,EAAE,QACV+B,QAAW/B,EAAE,WACbgC,SAAYhC,EAAE,YACdiC,QAAWjC,EAAE,WACbkC,KAAQlC,EAAE,QACVmC,SAAYnC,EAAE,aAGhBN,OAAON,OAAS,WACdN,UAAUM,UAGZM,OAAOL,KAAO,WACZP,UAAUQ,QAGZI,OAAO0C,kBAAoB,SAASjE,OAC7BuB,OAAOC,OAAO0C,QACjB3C,OAAOC,OAAO0C,UAEhB3C,OAAOC,OAAO0C,MAAMC,UAGtB5C,OAAO6C,qBAAuB,SAASC,OACrC9C,OAAOC,OAAO0C,MAAMI,OAAOD,MAAO,IAGpC9C,OAAOgD,oBAAsB,SAASvE,OAC/BuB,OAAOC,OAAOgD,UACjBjD,OAAOC,OAAOgD,YAEhBjD,OAAOC,OAAOgD,QAAQL,UAGxB5C,OAAOkD,uBAAyB,SAASJ,OACvC9C,OAAOC,OAAOgD,QAAQF,OAAOD,MAAO,IAhFxC/C,wBAAwBb,SAAW,SAAU,YAAa,SAAU,YAAa,UAoFjFH,QACGZ,OAAO,sBACPL,WAAW,0BAA2BiC,4BC5F3C,WACE,YAMA,SAASoD,uBAAsBC,OAAQhE,UAAWiE,KAAMC,QAASrF,iBAAkBsF,gBA4BjF,QAASC,IAAGrF,QACViF,OAAOI,GAAG,eAAiBrF,QAG7B,QAASsF,uBACP5D,GAAGjC,YAAYyB,SAASqE,6BAA6B,gBAAkB,OACvE7D,GAAGjC,YAAYyB,SAASsE,uBAAuBf,KAAK,gBAGtD,QAASgB,wBAAuBd,OAC9B,GAAIe,KAAMhE,GAAGjC,YAAYyB,SAASsE,uBAAuBb,MACzDjD,IAAGjC,YAAYyB,SAASsE,uBAAuBZ,OAAOD,MAAO,SACtDjD,IAAGjC,YAAYyB,SAASqE,6BAA6BG,KAG9D,QAASC,sBACPjE,GAAGjC,YAAYyB,SAAS0E,uBAAuBnB,KAAK,IAGtD,QAASoB,uBAAsBlB,OAC7BjD,GAAGjC,YAAYyB,SAAS0E,uBAAuBhB,OAAOD,MAAO,GAG/D,QAASmB,gBAAeC,IACtB,GAAI5E,QAEJO,IAAGjC,YAAYyB,SAAS8E,sBAAsBvB,SAE9CtD,QAAU8E,EAAEC,KAAKxE,GAAGjC,YAAYyB,SAAS8E,uBACzC7E,QAAQgF,KAAOhE,EAAE,eACjBhB,QAAQiF,aAEJC,SAAU,GACVC,MAAO,KAGXnF,QAAQoF,UACNC,cAAe,SACfC,0BAA2B,SAC3BC,2BAA4B,SAC5BC,iBAAkB,UAGpB1F,UAAU2F,MACRjH,WAAY,0BACZC,aAAc,2BACdF,YAAa,0BACbmH,YAAad,GACbe,QACE5F,SAAUQ,GAAGjC,YAAYyB,SACzBC,QAASA,QACTC,UAAYM,GAAGjC,YAAYyB,SAAS8E,sBAAsBe,OAAO,EACjE1F,sBAAuB2F,OAAO3F,yBAKpC,QAAS4F,iBAAgB3G,MAAOqE,OAC9B,GAAIxD,SAAUO,GAAGjC,YAAYyB,SAAS8E,sBAAsBrB,MAC5D1D,WAAU2F,MACRjH,WAAY,0BACZC,aAAc,2BACdF,YAAa,uBAAyBiF,MACtCkC,YAAavG,MACbwG,QACE5F,SAAUQ,GAAGjC,YAAYyB,SACzBC,QAASA,QACTC,UAAWuD,MACXtD,sBAAuB2F,OAAO3F,yBAE/B6F,KAAK,WACNxF,GAAGjC,YAAYyB,SAAS8E,sBAAsBrB,OAASxD,UAI3D,QAASgG,mBAAkBxC,OACzBjD,GAAGjC,YAAYyB,SAAS8E,sBAAsBpB,OAAOD,MAAO,GAG9D,QAASyC,gBACP1F,GAAGjC,YAAYyB,SAASmG,qBAAqBC,WAAc,YAAa,QAG1E,QAASC,iBAAgB7B,WAChBhE,IAAGjC,YAAYyB,SAASmG,qBAAqB3B,KAGtD,QAAS8B,eAAczB,IAChBrE,GAAGjC,YAAYyB,SAASuG,mBAC3B/F,GAAGjC,YAAYyB,SAASuG,qBAE1B/F,GAAGjC,YAAYyB,SAASuG,iBAAiBhD,QACzC,IAAI3C,QAASmE,EAAEC,KAAKxE,GAAGjC,YAAYyB,SAASuG,iBAC5CxG,WAAU2F,MACRjH,WAAY,0BACZD,YAAa,wBACbmH,YAAad,GACbe,QACEhF,OAAQA,OACRC,UAAWL,GAAGK,UACdC,OAAQN,GAAGjC,YAAYyB,SAASmG,wBAKtC,QAASK,gBAAe/C,OACtB,GAAI7C,QAASlB,QAAQ+G,KAAKjG,GAAGjC,YAAYyB,SAASuG,iBAAiB9C,OAEnE1D,WAAU2F,MACRjH,WAAY,0BACZD,YAAa,qBAAuBiF,MACpCkC,YAAa,KACbC,QACEhF,OAAQA,OACRC,UAAWL,GAAGK,UACdC,OAAQN,GAAGjC,YAAYyB,SAASmG,wBAEjCH,KAAK,WACNxF,GAAGjC,YAAYyB,SAASuG,iBAAiB9C,OAAS7C,SAItD,QAAS8F,kBAAiBjD,OACxBjD,GAAGjC,YAAYyB,SAASuG,iBAAiB7C,OAAOD,MAAO,GAGzD,QAASnD,QACPE,GAAGjC,YAAYoI,QAGjB,QAASC,qBACP,MAAIpG,IAAGqG,UAAUC,aAAetG,GAAGqG,UAAUC,YAAYjB,OAAS,GAC9DrF,GAAGqG,UAAUE,yBAA2BvG,GAAGqG,UAAUE,wBAAwBlB,QAC7ErF,GAAGqG,UAAUC,aAAetG,GAAGqG,UAAUE,yBACpC,GAEF,EAGT,QAASC,kBACP9C,eAAe8C,eAAexG,GAAGqG,UAAUC,aAAad,KAAK,WAC3D,GAAIiB,OAAQlH,UAAUkH,OACpBC,MAAOjG,EAAE,YACTkG,QAASlG,EAAE,0CACXmG,GAAI,MAENrH,WAAU2F,KAAMuB,OAAhBlH,WACW,WACPkH,MAAQI,UAEX,SAASC,KACV,GAAIL,OAAQlH,UAAUkH,OACpBC,MAAOjG,EAAE,YACTkG,QAASG,IACTF,GAAI,MAENrH,WAAU2F,KAAMuB,OAAhBlH,WACW,WACPkH,MAAQI,WAKhB,QAASE,qBAAoB3G,QAC3B,MAAOmE,GAAEnE,OAAOJ,GAAGgH,cAAe,SAASC,OACzC,MAAOA,OAAMC,cAAcC,QAAQ/G,OAAO8G,gBAAkB,IAhMhE,GAAIlH,IAAKC,IAETD,IAAGjC,YAAcK,iBACjB4B,GAAGqG,WAAcC,YAAa,KAAMC,wBAAyB,MAE7DvG,GAAG2D,GAAKA,GACR3D,GAAG4D,oBAAsBA,oBACzB5D,GAAG+D,uBAAyBA,uBAC5B/D,GAAGiE,mBAAqBA,mBACxBjE,GAAGmE,sBAAwBA,sBAC3BnE,GAAGoE,eAAiBA,eACpBpE,GAAGuF,gBAAkBA,gBACrBvF,GAAGyF,kBAAoBA,kBACvBzF,GAAG0F,aAAeA,aAClB1F,GAAG6F,gBAAkBA,gBACrB7F,GAAG8F,cAAgBA,cACnB9F,GAAGgG,eAAiBA,eACpBhG,GAAGkG,iBAAmBA,iBACtBlG,GAAGoH,WAAa5D,KAAK6D,QACrBrH,GAAGF,KAAOA,KACVE,GAAGoG,kBAAoBA,kBACvBpG,GAAGwG,eAAiBA,eACpBxG,GAAGgH,cAAgB1B,OAAO0B,cAC1BhH,GAAG+G,oBAAsBA,oBACzB/G,GAAGsH,oBAAsB,GACzBtH,GAAGK,UAAYoD,QAAQ8D,OAAQC,GAAI,IA3BrClE,sBAAsBjE,SAAW,SAAU,YAAa,OAAQ,UAAW,mBAAoB,kBAuM/FH,QACGZ,OAAO,sBACPL,WAAW,wBAAyBqF","sourcesContent":["/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* JavaScript for SOGoPreferences */\n\n(function() {\n 'use strict';\n\n angular.module('SOGo.PreferencesUI', ['ngSanitize', 'ui.router', 'ck', 'SOGo.Common', 'SOGo.MailerUI', 'SOGo.ContactsUI', 'SOGo.Authentication'])\n .config(configure)\n .run(runBlock);\n\n /**\n * @ngInject\n */\n configure.$inject = ['$stateProvider', '$urlRouterProvider'];\n function configure($stateProvider, $urlRouterProvider) {\n $stateProvider\n .state('preferences', {\n abstract: true,\n views: {\n preferences: {\n templateUrl: 'preferences.html',\n controller: 'PreferencesController',\n controllerAs: 'app'\n }\n },\n resolve: {\n statePreferences: statePreferences\n }\n })\n .state('preferences.general', {\n url: '/general',\n views: {\n module: {\n templateUrl: 'generalPreferences.html'\n }\n }\n })\n .state('preferences.calendars', {\n url: '/calendars',\n views: {\n module: {\n templateUrl: 'calendarsPreferences.html'\n }\n }\n })\n .state('preferences.addressbooks', {\n url: '/addressbooks',\n views: {\n module: {\n templateUrl: 'addressbooksPreferences.html'\n }\n }\n })\n .state('preferences.mailer', {\n url: '/mailer',\n views: {\n module: {\n templateUrl: 'mailerPreferences.html'\n }\n }\n });\n\n // if none of the above states are matched, use this as the fallback\n $urlRouterProvider.otherwise('/general');\n }\n\n /**\n * @ngInject\n */\n statePreferences.$inject = ['Preferences'];\n function statePreferences(Preferences) {\n return Preferences;\n }\n\n /**\n * @ngInject\n */\n runBlock.$inject = ['$rootScope'];\n function runBlock($rootScope) {\n $rootScope.$on('$routeChangeError', function(event, current, previous, rejection) {\n console.error(event, current, previous, rejection);\n });\n }\n\n})();\n","/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* JavaScript for SOGoPreferences */\n\n(function() {\n 'use strict';\n\n /**\n * @ngInject\n */\n AccountDialogController.$inject = ['$mdDialog', 'defaults', 'account', 'accountId', 'mailCustomFromEnabled'];\n function AccountDialogController($mdDialog, defaults, account, accountId, mailCustomFromEnabled) {\n var vm = this;\n\n vm.defaults = defaults;\n vm.account = account;\n vm.accountId = accountId;\n vm.customFromIsReadonly = customFromIsReadonly;\n vm.cancel = cancel;\n vm.save = save;\n\n function customFromIsReadonly() {\n if (accountId > 0)\n return false;\n\n return !mailCustomFromEnabled;\n }\n\n function cancel() {\n $mdDialog.cancel();\n }\n\n function save() {\n $mdDialog.hide();\n }\n }\n\n angular\n .module('SOGo.PreferencesUI')\n .controller('AccountDialogController', AccountDialogController);\n\n})();\n","/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* JavaScript for SOGoPreferences */\n\n(function() {\n 'use strict';\n\n /**\n * @ngInject\n */\n FiltersDialogController.$inject = ['$scope', '$mdDialog', 'filter', 'mailboxes', 'labels'];\n function FiltersDialogController($scope, $mdDialog, filter, mailboxes, labels) {\n $scope.filter = filter;\n $scope.mailboxes = mailboxes;\n $scope.labels = labels;\n\n $scope.fieldLabels = {\n \"subject\": l(\"Subject\"),\n \"from\": l(\"From\"),\n \"to\": l(\"To\"),\n \"cc\": l(\"Cc\"),\n \"to_or_cc\": l(\"To or Cc\"),\n \"size\": l(\"Size (Kb)\"),\n \"header\": l(\"Header\"),\n \"body\": l(\"Body\")\n };\n\n $scope.methodLabels = {\n \"addflag\": l(\"Flag the message with:\"), \n \"discard\": l(\"Discard the message\"),\n \"fileinto\": l(\"File the message in:\"),\n \"keep\": l(\"Keep the message\"),\n \"redirect\": l(\"Forward the message to:\"),\n \"reject\": l(\"Send a reject message:\"),\n \"vacation\": l(\"Send a vacation message\"),\n \"stop\": l(\"Stop processing filter rules\")\n };\n\n $scope.numberOperatorLabels = {\n \"under\": l(\"is under\"),\n \"over\": l(\"is over\")\n };\n\n $scope.textOperatorLabels = {\n \"is\": l(\"is\"),\n \"is_not\": l(\"is not\"),\n \"contains\": l(\"contains\"),\n \"contains_not\": l(\"does not contain\"),\n \"matches\": l(\"matches\"),\n \"matches_not\": l(\"does not match\"),\n \"regex\": l(\"matches regex\"),\n \"regex_not\": l(\"does not match regex\")\n };\n\n $scope.flagLabels = {\n \"seen\": l(\"Seen\"),\n \"deleted\": l(\"Deleted\"),\n \"answered\": l(\"Answered\"),\n \"flagged\": l(\"Flagged\"),\n \"junk\": l(\"Junk\"),\n \"not_junk\": l(\"Not Junk\")\n };\n \n $scope.cancel = function() {\n $mdDialog.cancel();\n };\n \n $scope.save = function() {\n $mdDialog.hide();\n };\n \n $scope.addMailFilterRule = function(event) {\n if (!$scope.filter.rules)\n $scope.filter.rules = [];\n\n $scope.filter.rules.push({});\n };\n \n $scope.removeMailFilterRule = function(index) {\n $scope.filter.rules.splice(index, 1);\n };\n \n $scope.addMailFilterAction = function(event) {\n if (!$scope.filter.actions)\n $scope.filter.actions = [];\n\n $scope.filter.actions.push({});\n };\n \n $scope.removeMailFilterAction = function(index) {\n $scope.filter.actions.splice(index, 1);\n };\n }\n\n angular\n .module('SOGo.PreferencesUI')\n .controller('FiltersDialogController', FiltersDialogController);\n\n})();\n","/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* JavaScript for SOGoPreferences */\n\n(function() {\n 'use strict';\n \n /**\n * @ngInject\n */\n PreferencesController.$inject = ['$state', '$mdDialog', 'User', 'Mailbox', 'statePreferences', 'Authentication'];\n function PreferencesController($state, $mdDialog, User, Mailbox, statePreferences, Authentication) {\n var vm = this;\n\n vm.preferences = statePreferences;\n vm.passwords = { newPassword: null, newPasswordConfirmation: null };\n\n vm.go = go;\n vm.addCalendarCategory = addCalendarCategory;\n vm.removeCalendarCategory = removeCalendarCategory;\n vm.addContactCategory = addContactCategory;\n vm.removeContactCategory = removeContactCategory;\n vm.addMailAccount = addMailAccount;\n vm.editMailAccount = editMailAccount;\n vm.removeMailAccount = removeMailAccount;\n vm.addMailLabel = addMailLabel;\n vm.removeMailLabel = removeMailLabel;\n vm.addMailFilter = addMailFilter;\n vm.editMailFilter = editMailFilter;\n vm.removeMailFilter = removeMailFilter;\n vm.userFilter = User.$filter;\n vm.save = save;\n vm.canChangePassword = canChangePassword;\n vm.changePassword = changePassword;\n vm.timeZonesList = window.timeZonesList;\n vm.timeZonesListFilter = timeZonesListFilter;\n vm.timeZonesSearchText = '';\n vm.mailboxes = Mailbox.$find({ id: 0 });\n\n function go(module) {\n $state.go('preferences.' + module);\n }\n\n function addCalendarCategory() {\n vm.preferences.defaults.SOGoCalendarCategoriesColors[\"New category\"] = \"#aaa\";\n vm.preferences.defaults.SOGoCalendarCategories.push(\"New category\");\n }\n\n function removeCalendarCategory(index) {\n var key = vm.preferences.defaults.SOGoCalendarCategories[index];\n vm.preferences.defaults.SOGoCalendarCategories.splice(index, 1);\n delete vm.preferences.defaults.SOGoCalendarCategoriesColors[key];\n }\n\n function addContactCategory() {\n vm.preferences.defaults.SOGoContactsCategories.push(\"\");\n }\n\n function removeContactCategory(index) {\n vm.preferences.defaults.SOGoContactsCategories.splice(index, 1);\n }\n\n function addMailAccount(ev) {\n var account;\n\n vm.preferences.defaults.AuxiliaryMailAccounts.push({});\n\n account = _.last(vm.preferences.defaults.AuxiliaryMailAccounts);\n account.name = l(\"New account\");\n account.identities = [\n {\n fullName: \"\",\n email: \"\"\n }\n ];\n account.receipts = {\n receiptAction: \"ignore\",\n receiptNonRecipientAction: \"ignore\",\n receiptOutsideDomainAction: \"ignore\",\n receiptAnyAction: \"ignore\"\n };\n\n $mdDialog.show({\n controller: 'AccountDialogController',\n controllerAs: '$AccountDialogController',\n templateUrl: 'editAccount?account=new',\n targetEvent: ev,\n locals: {\n defaults: vm.preferences.defaults,\n account: account,\n accountId: (vm.preferences.defaults.AuxiliaryMailAccounts.length-1),\n mailCustomFromEnabled: window.mailCustomFromEnabled\n }\n });\n }\n\n function editMailAccount(event, index) {\n var account = vm.preferences.defaults.AuxiliaryMailAccounts[index];\n $mdDialog.show({\n controller: 'AccountDialogController',\n controllerAs: '$AccountDialogController',\n templateUrl: 'editAccount?account=' + index,\n targetEvent: event,\n locals: {\n defaults: vm.preferences.defaults,\n account: account,\n accountId: index,\n mailCustomFromEnabled: window.mailCustomFromEnabled\n }\n }).then(function() {\n vm.preferences.defaults.AuxiliaryMailAccounts[index] = account;\n });\n }\n\n function removeMailAccount(index) {\n vm.preferences.defaults.AuxiliaryMailAccounts.splice(index, 1);\n }\n \n function addMailLabel() {\n vm.preferences.defaults.SOGoMailLabelsColors.new_label = [\"New label\", \"#aaa\"];\n }\n\n function removeMailLabel(key) {\n delete vm.preferences.defaults.SOGoMailLabelsColors[key];\n }\n\n function addMailFilter(ev) {\n if (!vm.preferences.defaults.SOGoSieveFilters)\n vm.preferences.defaults.SOGoSieveFilters = [];\n\n vm.preferences.defaults.SOGoSieveFilters.push({});\n var filter = _.last(vm.preferences.defaults.SOGoSieveFilters);\n $mdDialog.show({\n controller: 'FiltersDialogController',\n templateUrl: 'editFilter?filter=new',\n targetEvent: ev,\n locals: {\n filter: filter,\n mailboxes: vm.mailboxes,\n labels: vm.preferences.defaults.SOGoMailLabelsColors\n }\n });\n }\n \n function editMailFilter(index) {\n var filter = angular.copy(vm.preferences.defaults.SOGoSieveFilters[index]);\n \n $mdDialog.show({\n controller: 'FiltersDialogController',\n templateUrl: 'editFilter?filter=' + index,\n targetEvent: null,\n locals: {\n filter: filter,\n mailboxes: vm.mailboxes,\n labels: vm.preferences.defaults.SOGoMailLabelsColors\n }\n }).then(function() {\n vm.preferences.defaults.SOGoSieveFilters[index] = filter;\n });\n }\n\n function removeMailFilter(index) {\n vm.preferences.defaults.SOGoSieveFilters.splice(index, 1);\n }\n \n function save() {\n vm.preferences.$save();\n }\n\n function canChangePassword() {\n if (vm.passwords.newPassword && vm.passwords.newPassword.length > 0 &&\n vm.passwords.newPasswordConfirmation && vm.passwords.newPasswordConfirmation.length &&\n vm.passwords.newPassword == vm.passwords.newPasswordConfirmation)\n return true;\n\n return false;\n }\n \n function changePassword() {\n Authentication.changePassword(vm.passwords.newPassword).then(function() {\n var alert = $mdDialog.alert({\n title: l('Password'),\n content: l('The password was changed successfully.'),\n ok: 'OK'\n });\n $mdDialog.show( alert )\n .finally(function() {\n alert = undefined;\n });\n }, function(msg) {\n var alert = $mdDialog.alert({\n title: l('Password'),\n content: msg,\n ok: 'OK'\n });\n $mdDialog.show( alert )\n .finally(function() {\n alert = undefined;\n });\n });\n }\n\n function timeZonesListFilter(filter) {\n return _.filter(vm.timeZonesList, function(value) {\n return value.toUpperCase().indexOf(filter.toUpperCase()) >= 0;\n });\n }\n }\n\n angular\n .module('SOGo.PreferencesUI')\n .controller('PreferencesController', PreferencesController);\n\n})();\n"]}