Open the next active conversation after deleting, per the after-send setting #5693 from JayOfTheKeyboard/feature/delete-open-next
Open the next active conversation after deleting, per the after-send setting
This commit is contained in:
@@ -1950,11 +1950,11 @@ class ConversationsController extends Controller
|
||||
}
|
||||
|
||||
if (!$response['msg']) {
|
||||
$folder_id = $conversation->getCurrentFolder();
|
||||
$redirect_url = $this->getRedirectUrlAfterDelete($conversation, $user);
|
||||
|
||||
$conversation->deleteToFolder($user);
|
||||
|
||||
$response['redirect_url'] = route('mailboxes.view.folder', ['id' => $conversation->mailbox_id, 'folder_id' => $folder_id]);
|
||||
$response['redirect_url'] = $redirect_url;
|
||||
|
||||
$response['status'] = 'success';
|
||||
|
||||
@@ -1972,7 +1972,7 @@ class ConversationsController extends Controller
|
||||
}
|
||||
|
||||
if (!$response['msg']) {
|
||||
$folder_id = $conversation->getCurrentFolder();
|
||||
$redirect_url = $this->getRedirectUrlAfterDelete($conversation, $user);
|
||||
$mailbox = $conversation->mailbox;
|
||||
|
||||
$conversation->deleteForever();
|
||||
@@ -1980,7 +1980,7 @@ class ConversationsController extends Controller
|
||||
// Recalculate only old and new folders
|
||||
$mailbox->updateFoldersCounters();
|
||||
|
||||
$response['redirect_url'] = route('mailboxes.view.folder', ['id' => $conversation->mailbox_id, 'folder_id' => $folder_id]);
|
||||
$response['redirect_url'] = $redirect_url;
|
||||
|
||||
$response['status'] = 'success';
|
||||
|
||||
@@ -2854,6 +2854,20 @@ class ConversationsController extends Controller
|
||||
return $redirect_url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Where to go after deleting a conversation.
|
||||
* Follows the user's "after send" setting, as changing the status does: "Next active conversation" opens it,
|
||||
* anything else shows the folder. Must be called before the conversation is deleted.
|
||||
*/
|
||||
public function getRedirectUrlAfterDelete($conversation, $user)
|
||||
{
|
||||
if ($conversation->mailbox->getUserSettings($user->id)->after_send == MailboxUser::AFTER_SEND_NEXT) {
|
||||
return $conversation->urlNext(Conversation::getFolderParam(), Conversation::STATUS_ACTIVE, true);
|
||||
}
|
||||
|
||||
return route('mailboxes.view.folder', ['id' => $conversation->mailbox_id, 'folder_id' => $conversation->getCurrentFolder()]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Upload files and images.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user