mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-21 11:25:24 +00:00
(js) Allow to fetch unseen count of all mailboxes
Fixes #522, #2776, #4276
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
Enhancements
|
||||
- [web] show calendar names of subscriptions in events blocks
|
||||
- [web] allow to fetch unseen count of all mailboxes (#522, #2776, #4276)
|
||||
|
||||
Bug fixes
|
||||
- [web] fixed wrong translation of custom calendar categories
|
||||
|
||||
@@ -568,6 +568,16 @@
|
||||
</md-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<md-checkbox
|
||||
ng-model="app.preferences.defaults.SOGoMailFetchAllUnseenCountFolders"
|
||||
ng-true-value="1"
|
||||
ng-false-value="0"
|
||||
label:aria-label="Fetch count of unseen messages for all mailboxes">
|
||||
<var:string label:value="Fetch count of unseen messages for all mailboxes"/>
|
||||
</md-checkbox>
|
||||
</div>
|
||||
|
||||
<div class="ng-hide">
|
||||
<md-checkbox
|
||||
ng-model="app.preferences.defaults.SOGoMailSortByThreads"
|
||||
|
||||
@@ -267,19 +267,31 @@
|
||||
}; // delegate
|
||||
|
||||
this.refreshUnseenCount = function() {
|
||||
var unseenCountFolders = $window.unseenCountFolders, refreshViewCheck;
|
||||
var unseenCountFolders, refreshViewCheck;
|
||||
|
||||
if (Preferences.defaults.SOGoMailFetchAllUnseenCountFolders === 1)
|
||||
unseenCountFolders = [];
|
||||
else
|
||||
unseenCountFolders = $window.unseenCountFolders;
|
||||
|
||||
_.forEach(vm.accounts, function(account) {
|
||||
|
||||
// Always include the INBOX
|
||||
if (!_.includes(unseenCountFolders, account.id + '/folderINBOX'))
|
||||
unseenCountFolders.push(account.id + '/folderINBOX');
|
||||
|
||||
_.forEach(account.$$flattenMailboxes, function(mailbox) {
|
||||
if (angular.isDefined(mailbox.unseenCount) &&
|
||||
!_.includes(unseenCountFolders, mailbox.id))
|
||||
if (Preferences.defaults.SOGoMailFetchAllUnseenCountFolders === 1) {
|
||||
// Include all mailboxes
|
||||
_.forEach(account.$$flattenMailboxes, function(mailbox) {
|
||||
unseenCountFolders.push(mailbox.id);
|
||||
});
|
||||
});
|
||||
}
|
||||
else {
|
||||
// Always include the INBOX
|
||||
if (!_.includes(unseenCountFolders, account.id + '/folderINBOX'))
|
||||
unseenCountFolders.push(account.id + '/folderINBOX');
|
||||
|
||||
_.forEach(account.$$flattenMailboxes, function(mailbox) {
|
||||
if (angular.isDefined(mailbox.unseenCount) &&
|
||||
!_.includes(unseenCountFolders, mailbox.id))
|
||||
unseenCountFolders.push(mailbox.id);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Account.$$resource.post('', 'unseenCount', {mailboxes: unseenCountFolders}).then(function(data) {
|
||||
|
||||
Reference in New Issue
Block a user