上传文件至 tickets
This commit is contained in:
parent
70ae225086
commit
21c20a14fc
38
tickets/TicketCreatedListener.php
Normal file
38
tickets/TicketCreatedListener.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Listeners;
|
||||
|
||||
use App\Events\Ticket as TicketEvent;
|
||||
use App\Helpers\NotificationHelper;
|
||||
use App\Models\User;
|
||||
|
||||
class TicketCreatedListener
|
||||
{
|
||||
/**
|
||||
* Handle the event.
|
||||
*/
|
||||
public function handle(TicketEvent\Created $event): void
|
||||
{
|
||||
// Get all users with ticket viewing permission
|
||||
$admins = User::whereHas('role', function ($query) {
|
||||
$query->whereJsonContains('permissions', 'admin.tickets.viewAny')
|
||||
->orWhereJsonContains('permissions', '*');
|
||||
})->get();
|
||||
|
||||
// Send notification to each admin
|
||||
foreach ($admins as $admin) {
|
||||
NotificationHelper::sendSystemEmailNotification(
|
||||
'[Ticket #' . $event->ticket->id . '] New Ticket Created',
|
||||
"A new ticket has been created.\n\n" .
|
||||
"Ticket ID: #" . $event->ticket->id . "\n" .
|
||||
"Subject: " . $event->ticket->subject . "\n" .
|
||||
"Priority: " . $event->ticket->priority . "\n" .
|
||||
"Department: " . $event->ticket->department . "\n" .
|
||||
"User: " . $event->ticket->user->name . " (" . $event->ticket->user->email . ")\n" .
|
||||
"Created at: " . $event->ticket->created_at->format('Y-m-d H:i:s'),
|
||||
[],
|
||||
$admin->email
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user