Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Bug #13852: Fix display of delete-related options when using virtual …
…trash
  • Loading branch information
slusarz committed Feb 25, 2015
1 parent 2f4a517 commit cad459b
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 21 deletions.
28 changes: 15 additions & 13 deletions imp/js/base.js
Expand Up @@ -1442,7 +1442,9 @@ var ImpBase = {
break;
}

tmp = $('ctx_oa_undeleted', 'ctx_oa_blacklist', 'ctx_oa_whitelist');
[ $('ctx_oa_undelete') ].invoke(this.viewport.getMetaData('noundelete') ? 'hide' : 'show');

tmp = $('ctx_oa_blacklist', 'ctx_oa_whitelist');
sel = this.viewport.getSelected();

if ($('ctx_oa_setflag')) {
Expand All @@ -1457,22 +1459,22 @@ var ImpBase = {

tmp.compact().invoke(sel.size() ? 'show' : 'hide');

if ((tmp = $('ctx_oa_purge_deleted'))) {
if (this.viewport.getMetaData('pop3')) {
tmp.up().hide();
tmp = $('ctx_oa_purge_deleted');
if (this.viewport.getMetaData('nodeleteshow')) {
tmp.up().hide();
} else {
tmp.up().show();
if (this.viewport.getMetaData('noexpunge')) {
tmp.hide();
} else {
tmp.up().show();
if (this.viewport.getMetaData('noexpunge')) {
tmp.hide();
} else {
tmp.show();
[ tmp.up() ].invoke(tmp.up().select('> a').any(Element.visible) ? 'show' : 'hide');
}
tmp.show();
[ tmp.up() ].invoke(tmp.up().select('> a').any(Element.visible) ? 'show' : 'hide');
}
}

if ((tmp = $('ctx_oa_hide_deleted'))) {
if (this.isThreadSort() || this.viewport.getMetaData('pop3')) {
if (this.isThreadSort() ||
this.viewport.getMetaData('nodeleteshow')) {
$(tmp, 'ctx_oa_show_deleted').invoke('hide');
} else if (this.viewport.getMetaData('delhide')) {
tmp.hide();
Expand Down Expand Up @@ -1515,7 +1517,7 @@ var ImpBase = {
case 'ctx_message':
[ $('ctx_message_source').up() ].invoke(ImpCore.getPref('preview') ? 'hide' : 'show');
[ $('ctx_message_delete') ].compact().invoke(this.viewport.getMetaData('nodelete') ? 'hide' : 'show');
[ $('ctx_message_undelete') ].compact().invoke(this.viewport.getMetaData('nodelete') || this.viewport.getMetaData('pop3') ? 'hide' : 'show');
[ $('ctx_message_undelete') ].compact().invoke(this.viewport.getMetaData('noundelete') ? 'hide' : 'show');

[ $('ctx_message_setflag').up() ].invoke((!this.viewport.getMetaData('flags').size() && this.viewport.getMetaData('readonly')) || this.viewport.getMetaData('pop3') ? 'hide' : 'show');

Expand Down
14 changes: 12 additions & 2 deletions imp/lib/Ajax/Application/ListMessages.php
Expand Up @@ -40,7 +40,7 @@ class IMP_Ajax_Application_ListMessages
*/
public function listMessages($args)
{
global $injector, $notification;
global $injector, $notification, $prefs;

$is_search = false;
$mbox = IMP_Mailbox::get($args['mbox']);
Expand Down Expand Up @@ -188,6 +188,8 @@ public function listMessages($args)
$injector->getInstance('IMP_Ajax_Queue')->quota($mbox, true);

if (!$mbox->is_imap) {
$result->setMetadata('nodeleteshow', 1);
$result->setMetadata('noundelete', 1);
$result->setMetadata('pop3', 1);
}
if ($sortpref->sortby_locked) {
Expand Down Expand Up @@ -224,6 +226,13 @@ public function listMessages($args)
$result->setMetadata('spam_show', 1);
}

if ($prefs->getValue('use_trash')) {
$result->setMetadata('nodeleteshow', 1);
if (!$mbox->vtrash) {
$result->setMetadata('noundelete', 1);
}
}

$result->addFlagMetadata();
}

Expand All @@ -248,7 +257,8 @@ public function listMessages($args)
if ($mbox->readonly) {
$result->setMetadata('readonly', 1);
$result->setMetadata('nodelete', 1);
$result->setMetadata('expunge', 1);
$result->setMetadata('nodeleteshow', 1);
$result->setMetadata('noundelete', 1);
} else {
if (!$mbox->access_deletemsgs) {
$result->setMetadata('nodelete', 1);
Expand Down
6 changes: 0 additions & 6 deletions imp/lib/Dynamic/Mailbox.php
Expand Up @@ -343,9 +343,6 @@ protected function _addMailboxVars()
if (!$registry->hasLink('mail/newEmailFilter')) {
unset($context['ctx_message']['addfilter']);
}
if ($prefs->getValue('use_trash')) {
unset($context['ctx_message']['undelete']);
}
if (empty($conf['user']['allow_view_source'])) {
unset($context['ctx_message']['_sub3']);
}
Expand Down Expand Up @@ -439,9 +436,6 @@ protected function _addMailboxVars()
'clear_sort' => _("Clear Sort")
)
);
if ($prefs->getValue('use_trash')) {
unset($context['ctx_oa']['_sub2']);
}
if ($prefs->isLocked('delhide')) {
unset($context['ctx_oa']['hide_deleted']);
}
Expand Down

0 comments on commit cad459b

Please sign in to comment.