fixed logic for sending message in tickets

This commit is contained in:
ilmedova 2022-12-05 16:51:28 +05:00
parent 0f04b3f40d
commit 2016834ec3
1 changed files with 11 additions and 4 deletions

View File

@ -15,6 +15,7 @@
use App\Models\Status;
use App\Models\Ticket;
use App\Models\User;
use App\Notifications\NewMessage;
use App\Notifications\NewTicket;
use Illuminate\Contracts\Database\Eloquent\Builder;
use Illuminate\Http\Request;
@ -60,11 +61,11 @@ public function postMessage(MessageRequest $request)
$message['client_id'] = $request->user()->id;
$message->save();
$ticket = Ticket::find($request->ticket_id);
if($ticket->last_sender == 'client'){
if($ticket->last_sender == 'admin'){
$users = User::with('permissions')->whereHas("permissions", function($q) {
$q->whereIn("name", ["tickets"]);
})->get();
Notification::send($users, new NewTicket());
Notification::send($users, new NewMessage());
}
$ticket['last_sender'] = 'client';
$ticket->save();
@ -84,9 +85,15 @@ public function postMessageAdmin(MessageRequest $request)
$message['is_client'] = false;
$message->save();
$ticket = Ticket::find($request->ticket_id);
if($ticket->last_sender == 'admin'){
if($ticket->last_sender == 'client'){
$user = Client::find($ticket->client_id);
$user->notify(new NewTicket());
if($user == null){
$not_suspended_clients = Client::where('is_suspended', 0)->where('account_id', $request->account_id)->get();
Notification::send($not_suspended_clients, new NewMessage());
}
else{
$user->notify(new NewTicket());
}
}
$ticket['last_sender'] = 'admin';
$ticket->save();