diff --git a/UI/Templates/ContactsUI/UIxContactFoldersView.wox b/UI/Templates/ContactsUI/UIxContactFoldersView.wox index d59295993..35bc994b5 100644 --- a/UI/Templates/ContactsUI/UIxContactFoldersView.wox +++ b/UI/Templates/ContactsUI/UIxContactFoldersView.wox @@ -331,6 +331,9 @@ + + refresh + diff --git a/UI/Templates/MailerUI/UIxMailMainFrame.wox b/UI/Templates/MailerUI/UIxMailMainFrame.wox index db2e16811..80b64c245 100644 --- a/UI/Templates/MailerUI/UIxMailMainFrame.wox +++ b/UI/Templates/MailerUI/UIxMailMainFrame.wox @@ -401,6 +401,9 @@ + + refresh + diff --git a/UI/WebServerResources/js/Contacts/AddressBookController.js b/UI/WebServerResources/js/Contacts/AddressBookController.js index 2e0352eb9..a8bf32547 100644 --- a/UI/WebServerResources/js/Contacts/AddressBookController.js +++ b/UI/WebServerResources/js/Contacts/AddressBookController.js @@ -6,8 +6,8 @@ /** * @ngInject */ - AddressBookController.$inject = ['$scope', '$state', '$mdDialog', 'sgFocus', 'Card', 'AddressBook', 'Dialog', 'sgSettings', 'stateAddressbooks', 'stateAddressbook']; - function AddressBookController($scope, $state, $mdDialog, focus, Card, AddressBook, Dialog, Settings, stateAddressbooks, stateAddressbook) { + AddressBookController.$inject = ['$scope', '$state', '$timeout', '$mdDialog', 'sgFocus', 'Card', 'AddressBook', 'Dialog', 'Preferences', 'sgSettings', 'stateAddressbooks', 'stateAddressbook']; + function AddressBookController($scope, $state, $timeout, $mdDialog, focus, Card, AddressBook, Dialog, Preferences, Settings, stateAddressbooks, stateAddressbook) { var vm = this; AddressBook.selectedFolder = stateAddressbook; @@ -98,6 +98,24 @@ vm.mode.search = false; vm.selectedFolder.$filter(''); } + + // Start the address book refresh timer based on user's preferences + Preferences.ready().then(function() { + var refreshViewCheck = Preferences.defaults.SOGoRefreshViewCheck; + if (refreshViewCheck && refreshViewCheck != 'manually') { + var interval; + if (refreshViewCheck == "once_per_hour") + interval = 3600; + else if (refreshViewCheck == "every_minute") + interval = 60; + else { + interval = parseInt(refreshViewCheck.substr(6)) * 60; + } + + var f = angular.bind(vm.selectedFolder, AddressBook.prototype.$reload); + $timeout(f, interval*1000); + } + }); } angular diff --git a/UI/WebServerResources/js/Mailer/MailboxController.js b/UI/WebServerResources/js/Mailer/MailboxController.js index 4b1f4f525..1951b5899 100644 --- a/UI/WebServerResources/js/Mailer/MailboxController.js +++ b/UI/WebServerResources/js/Mailer/MailboxController.js @@ -6,8 +6,8 @@ /** * @ngInject */ - MailboxController.$inject = ['$state', 'stateAccounts', 'stateAccount', 'stateMailbox', 'encodeUriFilter', 'sgFocus', 'Dialog', 'Account', 'Mailbox']; - function MailboxController($state, stateAccounts, stateAccount, stateMailbox, encodeUriFilter, focus, Dialog, Account, Mailbox) { + MailboxController.$inject = ['$state', '$timeout', 'stateAccounts', 'stateAccount', 'stateMailbox', 'encodeUriFilter', 'sgFocus', 'Dialog', 'Account', 'Mailbox', 'Preferences']; + function MailboxController($state, $timeout, stateAccounts, stateAccount, stateMailbox, encodeUriFilter, focus, Dialog, Account, Mailbox, Preferences) { var vm = this; Mailbox.selectedFolder = stateMailbox; @@ -87,6 +87,24 @@ vm.mode.search = false; vm.selectedFolder.$filter(); } + + // Start the mailbox refresh timer based on user's preferences + Preferences.ready().then(function() { + var refreshViewCheck = Preferences.defaults.SOGoRefreshViewCheck; + if (refreshViewCheck && refreshViewCheck != 'manually') { + var interval; + if (refreshViewCheck == "once_per_hour") + interval = 3600; + else if (refreshViewCheck == "every_minute") + interval = 60; + else { + interval = parseInt(refreshViewCheck.substr(6)) * 60; + } + + var f = angular.bind(vm.selectedFolder, Mailbox.prototype.$filter); + $timeout(f, interval*1000); + } + }); } angular