上传文件至 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