From ecb69d3b97dd133a1351ada6f4fca3199481ec5d Mon Sep 17 00:00:00 2001 From: saparatayev Date: Tue, 14 Dec 2021 12:03:53 +0500 Subject: [PATCH] feat: delete chat - backend, frontend --- plugins/tps/birzha/components/Messages.php | 22 +++ .../birzha/components/messages/default.htm | 24 +++ shablon/chat.html | 2 +- shablon/css/main.css | 2 + shablon/js/main.js | 25 ++- themes/birzha/assets/css/main.css | 152 +++++++++++++++++- themes/birzha/assets/images/svg/trash.svg | 10 ++ themes/birzha/assets/js/main.js | 27 ++++ themes/birzha/config/lang.yaml | 9 ++ 9 files changed, 263 insertions(+), 10 deletions(-) create mode 100644 themes/birzha/assets/images/svg/trash.svg diff --git a/plugins/tps/birzha/components/Messages.php b/plugins/tps/birzha/components/Messages.php index 17578a7dc..8011119ef 100644 --- a/plugins/tps/birzha/components/Messages.php +++ b/plugins/tps/birzha/components/Messages.php @@ -122,4 +122,26 @@ class Messages extends ComponentBase 'latest_message_area' => $this->renderPartial('@latest_message') ]; } + + public function onDeleteChat() + { + $chatRoomId = Input::get('chatroom_id'); + + $chatroom = Chatroom::with(['messages', 'users'])->find($chatRoomId); + if($chatroom) { + \DB::beginTransaction(); + + try { + $chatroom->messages()->delete(); + $chatroom->users()->detach(); + $chatroom->delete(); + } catch (\Throwable $th) { + return \Redirect::to('/error'); + } + + \DB::commit(); + } + + return \Redirect::back(); + } } diff --git a/plugins/tps/birzha/components/messages/default.htm b/plugins/tps/birzha/components/messages/default.htm index 5c46e01e8..710d2b1c7 100644 --- a/plugins/tps/birzha/components/messages/default.htm +++ b/plugins/tps/birzha/components/messages/default.htm @@ -54,6 +54,9 @@ {{chatroom.count_unread_messages}} {% endif %} + {% endfor %} @@ -79,6 +82,27 @@ + + + + {% put scripts %}