From e933d6ca3b27bc1d0a40a8aa78e5da9d65143c08 Mon Sep 17 00:00:00 2001 From: mokaddem Date: Wed, 23 Jun 2021 11:34:26 +0200 Subject: [PATCH] chg: [outbox] Support of bulk deletion --- src/Controller/OutboxController.php | 12 ++++-- templates/Outbox/index.php | 59 ++++++++++++++++++++++++++++- 2 files changed, 66 insertions(+), 5 deletions(-) diff --git a/src/Controller/OutboxController.php b/src/Controller/OutboxController.php index 5426883..946a9ea 100644 --- a/src/Controller/OutboxController.php +++ b/src/Controller/OutboxController.php @@ -57,11 +57,15 @@ class OutboxController extends AppController } } - public function delete($id) + public function delete($id=false) { - $this->set('deletionTitle', __('Discard request')); - $this->set('deletionText', __('Are you sure you want to discard request #{0}?', $id)); - $this->set('deletionConfirm', __('Discard')); + $this->set('deletionTitle', __('Confirm message deletion')); + if (!empty($id)) { + $this->set('deletionText', __('Are you sure you want to delete message #{0}?', $id)); + } else { + $this->set('deletionText', __('Are you sure you want to delete the selected messages?')); + } + $this->set('deletionConfirm', __('Delete')); $this->CRUD->delete($id); $responsePayload = $this->CRUD->getResponsePayload(); if (!empty($responsePayload)) { diff --git a/templates/Outbox/index.php b/templates/Outbox/index.php index 79a8d18..c7ac4f9 100644 --- a/templates/Outbox/index.php +++ b/templates/Outbox/index.php @@ -8,6 +8,16 @@ echo $this->element('genericElements/IndexTable/index_table', [ 'data' => $data, 'top_bar' => [ 'children' => [ + [ + 'children' => [ + [ + 'text' => __('Delete messages'), + 'variant' => 'danger', + 'onclick' => 'deleteMessages', + ] + ], + 'type' => 'multi_select_actions', + ], [ 'type' => 'context_filters', 'context_filters' => !empty($filteringContexts) ? $filteringContexts : [] @@ -23,6 +33,15 @@ echo $this->element('genericElements/IndexTable/index_table', [ ] ], 'fields' => [ + [ + 'element' => 'selector', + 'class' => 'short', + 'data' => [ + 'id' => [ + 'value_path' => 'id' + ] + ] + ], [ 'name' => '#', 'sort' => 'id', @@ -90,5 +109,43 @@ echo $this->element('genericElements/IndexTable/index_table', [ ] ] ]); -echo ''; ?> + +