-
-
Notifications
You must be signed in to change notification settings - Fork 89
Expand file tree
/
Copy pathTicketNumberController.php
More file actions
34 lines (29 loc) · 808 Bytes
/
TicketNumberController.php
File metadata and controls
34 lines (29 loc) · 808 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
namespace App\Http\Controllers;
use App\Models\Ticket;
use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Str;
class TicketNumberController extends Controller
{
/**
* Redirect to a ticket based on it's number
*
* @param string $number
* @return RedirectResponse|void
*/
public function __invoke(string $number)
{
$ticketPrefix = substr($number, 0, 4);
$ticketNumber = str_replace($ticketPrefix, "", $number);
$ticket = Ticket::where('number', $ticketNumber)
->first();
if ($ticket) {
return redirect()->route('tickets.details', [
'ticket' => $ticket,
'slug' => Str::slug($ticket->title)
]);
} else {
abort(404);
}
}
}