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 %} - {{ ticket.title }} - {{ ticket.severity }} - {{ ticket.due_at }} - - - + + {{ ticket.title }} + {{ ticket.severity }} + {{ ticket.due_at ? ticket.due_at : 'N/a' }} + + + + + {% endfor %} diff --git a/views/ticket/edit.twig b/views/ticket/edit.twig index af38572..10db73c 100644 --- a/views/ticket/edit.twig +++ b/views/ticket/edit.twig @@ -1,6 +1,6 @@ {% extends 'layout.twig' %} -{% block title %}Create new ticket{% endblock %} +{% block title %}Editing ticket{% endblock %} {% block content %}
diff --git a/views/ticket/view.twig b/views/ticket/view.twig index 9870a48..4c231cc 100644 --- a/views/ticket/view.twig +++ b/views/ticket/view.twig @@ -1,6 +1,6 @@ {% extends 'layout.twig' %} -{% block title %}Home{% endblock %} +{% block title %}{{ ticket.title }}{% endblock %} {% block content %}
@@ -26,7 +26,7 @@