diff --git a/src/Controllers/TicketController.php b/src/Controllers/TicketController.php index 89d3c10..49b872b 100644 --- a/src/Controllers/TicketController.php +++ b/src/Controllers/TicketController.php @@ -11,7 +11,7 @@ use BitGoblin\Goliath\Models\Ticket; class TicketController extends Controller { public function getView(Request $request, Response $response, array $args): Response { - $ticket = Ticket::where('id', $args['ticket_id'])->get()[0]; + $ticket = Ticket::where('id', $args['ticket_id'])->first(); $view = Twig::fromRequest($request); return $view->render($response, 'ticket/view.twig', [ @@ -69,4 +69,14 @@ class TicketController extends Controller { ->withStatus(302); } + public function getDelete(Request $request, Response $response, array $args): Response { + $ticket = Ticket::where('id', $args['ticket_id'])->first(); + + $ticket->delete(); + + return $response + ->withHeader('Location', '/') + ->withStatus(302); + } + } diff --git a/src/routes.php b/src/routes.php index ed253a9..ef66e1a 100644 --- a/src/routes.php +++ b/src/routes.php @@ -15,6 +15,9 @@ $app->post('/ticket/create', '\\BitGoblin\\Goliath\\Controllers\\TicketControlle $app->get('/ticket/{ticket_id}/edit', '\\BitGoblin\\Goliath\\Controllers\\TicketController:getEdit')->setName('ticket.edit'); $app->post('/ticket/{ticket_id}/edit', '\\BitGoblin\\Goliath\\Controllers\\TicketController:postEdit')->setName('ticket.edit'); +// ticket deletion route +$app->get('/ticket/{ticket_id}/delete', '\\BitGoblin\\Goliath\\Controllers\\TicketController:getDelete')->setName('ticket.delete'); + // /ticket/id route - displays ticket info to user $app->get('/ticket/{ticket_id}', '\\BitGoblin\\Goliath\\Controllers\\TicketController:getView')->setName('ticket.view'); diff --git a/views/index.twig b/views/index.twig index 6ee6bdd..feb4a6c 100644 --- a/views/index.twig +++ b/views/index.twig @@ -20,12 +20,15 @@
{% for ticket in tickets %} -