sogo/UI/WebServerResources/js/Preferences.js.map
2015-08-21 13:40:07 -04:00

1 line
25 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","sieveCapabilities","fieldLabels","subject","l","from","to","cc","to_or_cc","size","header","indexOf","body","methodLabels","discard","keep","redirect","vacation","stop","reject","fileinto","addflag","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","$mdToast","Dialog","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","addDefaultEmailAddresses","v","isDefined","Vacation","autoReplyEmailAddresses","split","union","defaultEmailAddresses","join","sendForm","forwardConstraints","Forward","enabled","forwardAddress","addresses","defaultAddresses","domains","forEach","adr","domain","toLowerCase","i","alert","$save","data","simple","content","position","hideDelay","canChangePassword","passwords","newPassword","newPasswordConfirmation","changePassword","title","ok","undefined","msg","timeZonesListFilter","timeZonesList","value","toUpperCase","userFilter","$filter","timeZonesSearchText","$find","id"],"mappings":"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","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', 'sieveCapabilities'];\n function FiltersDialogController($scope, $mdDialog, filter, mailboxes, labels, sieveCapabilities) {\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 };\n\n if (sieveCapabilities.indexOf(\"body\") > -1)\n $scope.fieldLabels.body = l(\"Body\");\n\n $scope.methodLabels = {\n \"discard\": l(\"Discard the message\"),\n \"keep\": l(\"Keep the message\"),\n \"redirect\": l(\"Forward the message to:\"),\n \"vacation\": l(\"Send a vacation message\"),\n \"stop\": l(\"Stop processing filter rules\")\n };\n\n if (sieveCapabilities.indexOf(\"reject\") > -1)\n $scope.methodLabels.reject = l(\"Send a reject message:\");\n\n if (sieveCapabilities.indexOf(\"fileinto\") > -1)\n $scope.methodLabels.fileinto = l(\"File the message in:\");\n\n if (sieveCapabilities.indexOf(\"imapflags\") > -1 || sieveCapabilities.indexOf(\"imap4flags\") > -1)\n $scope.methodLabels.addflag = l(\"Flag the message with:\");\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 };\n\n if (sieveCapabilities.indexOf(\"regex\") > -1) {\n $scope.textOperatorLabels.regex = l(\"matches regex\");\n $scope.textOperatorLabels.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', '$mdToast', 'Dialog', 'User', 'Mailbox', 'statePreferences', 'Authentication'];\n function PreferencesController($state, $mdDialog, $mdToast, Dialog, 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.addDefaultEmailAddresses = addDefaultEmailAddresses;\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 sieveCapabilities: window.sieveCapabilities\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 sieveCapabilities: window.sieveCapabilities\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 addDefaultEmailAddresses() {\n var v = [];\n\n if (angular.isDefined(vm.preferences.defaults.Vacation.autoReplyEmailAddresses)) {\n v = vm.preferences.defaults.Vacation.autoReplyEmailAddresses.split(',');\n }\n\n vm.preferences.defaults.Vacation.autoReplyEmailAddresses = (_.union(window.defaultEmailAddresses.split(','), v)).join(',');\n }\n \n function save() {\n var sendForm = true;\n\n // We do some sanity checks\n if (window.forwardConstraints > 0 &&\n angular.isDefined(vm.preferences.defaults.Forward) &&\n vm.preferences.defaults.Forward.enabled &&\n angular.isDefined(vm.preferences.defaults.Forward.forwardAddress)) {\n\n var addresses = vm.preferences.defaults.Forward.forwardAddress.split(\",\");\n\n // We first extract the list of 'known domains' to SOGo\n var defaultAddresses = window.defaultEmailAddresses.split(/, */);\n var domains = [];\n\n _.forEach(defaultAddresses, function(adr) {\n var domain = adr.split(\"@\")[1];\n if (domain) {\n domains.push(domain.toLowerCase());\n }\n });\n\n // We check if we're allowed or not to forward based on the domain defaults\n for (var i = 0; i < addresses.length && sendForm; i++) {\n var domain = addresses[i].split(\"@\")[1].toLowerCase();\n if (domains.indexOf(domain) < 0 && window.forwardConstraints == 1) {\n Dialog.alert(l('Error'), l(\"You are not allowed to forward your messages to an external email address.\"));\n sendForm = false;\n }\n else if (domains.indexOf(domain) >= 0 && window.forwardConstraints == 2) {\n Dialog.alert(l('Error'), l(\"You are not allowed to forward your messages to an internal email address.\"));\n sendForm = false;\n }\n }\n }\n\n if (sendForm)\n vm.preferences.$save().then(function(data) {\n $mdToast.show(\n $mdToast.simple()\n .content(l('Preferences saved'))\n .position('top right')\n .hideDelay(3000)\n );\n });\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"]}