(js) Restrict special mailboxes to the top level

Fixes #6963
pull/16/merge
Francis Lachapelle 2017-03-22 14:53:07 -04:00
parent e7a06c42a4
commit 75aaef0f3d
3 changed files with 15 additions and 4 deletions

1
NEWS
View File

@ -8,6 +8,7 @@ Enhancements
- [web] constrain event/task reminder to a positive number
- [web] display year in day and week views
- [web] split string on comma and semicolon when pasting multiple addresses (#4097)
- [web] restrict Draft/Sent/Trash/Junk mailboxes to the top level (#6963)
Bug fixes
- [core] handle broken CalDAV clients sending bogus SENT-BY (#3992)

View File

@ -161,23 +161,23 @@
<var:string label:value="Search"/>
</md-button>
</md-menu-item>
<md-menu-divider ng-show="folder.type == 'folder'"><!-- divider --></md-menu-divider>
<md-menu-divider ng-show="folder.$canFolderAs()"><!-- divider --></md-menu-divider>
<md-menu-item ng-show="folder.type == 'folder'">
<md-button type="button" ng-click="app.setFolderAs(folder, 'Drafts')">
<var:string label:value="Set as Drafts"/>
</md-button>
</md-menu-item>
<md-menu-item ng-show="folder.type == 'folder'">
<md-menu-item ng-show="folder.$canFolderAs()">
<md-button type="button" ng-click="app.setFolderAs(folder, 'Sent')">
<var:string label:value="Set as Sent"/>
</md-button>
</md-menu-item>
<md-menu-item ng-show="folder.type == 'folder'">
<md-menu-item ng-show="folder.$canFolderAs()">
<md-button type="button" ng-click="app.setFolderAs(folder, 'Trash')">
<var:string label:value="Set as Trash"/>
</md-button>
</md-menu-item>
<md-menu-item ng-show="folder.type == 'folder'">
<md-menu-item ng-show="folder.$canFolderAs()">
<md-button type="button" ng-click="app.setFolderAs(folder, 'Junk')">
<var:string label:value="Set as Junk"/>
</md-button>

View File

@ -571,6 +571,16 @@
});
};
/**
* @function $canFolderAs
* @memberof Mailbox.prototype
* @desc Check if the folder can be set as Drafts/Sent/Trash
* @returns true if folder is eligible
*/
Mailbox.prototype.$canFolderAs = function() {
return this.type == 'folder' && this.level === 0;
};
/**
* @function $setFolderAs
* @memberof Mailbox.prototype