diff --git a/assets/scripts/test.coffee b/assets/scripts/test.coffee
index be479b9..6662eed 100644
--- a/assets/scripts/test.coffee
+++ b/assets/scripts/test.coffee
@@ -53,6 +53,8 @@ fetchTestBenchmarkResults = (testId, benchmarkId) ->
else
tableRow.append('
N/a | ')
tableRow.append('N/a | ')
+
+ tableRow.append('Details | ')
catch error
console.error 'An error occurred while fetching benchmark results.', error
diff --git a/assets/styles/nardah.scss b/assets/styles/nardah.scss
index 1900231..97ee52b 100644
--- a/assets/styles/nardah.scss
+++ b/assets/styles/nardah.scss
@@ -22,6 +22,10 @@ table{
border: 1px solid #eee;
}
+a{
+ transition: color 210ms ease-in-out;
+}
+
#main-wrapper{
padding: 1.5rem 2rem;
background: white;
diff --git a/src/Controllers/ApiController.php b/src/Controllers/ApiController.php
index 3a7e704..c58f284 100644
--- a/src/Controllers/ApiController.php
+++ b/src/Controllers/ApiController.php
@@ -66,6 +66,23 @@ class ApiController extends Controller {
->withHeader('Content-Type', 'application/json');
}
+ public function getResultDelete(Request $request, Response $response, array $args): Response {
+ $result = Result::where('id', $args['result_id'])->delete();
+
+ $payload = json_encode($result);
+
+ $referrer = $request->getHeaderLine('Referer');
+ if ($referrer) {
+ return $response
+ ->withHeader('Location', $referrer)
+ ->withStatus(302);
+ }
+
+ $response->getBody()->write($payload);
+ return $response
+ ->withHeader('Content-Type', 'application/json');
+ }
+
public function getTestDetails(Request $request, Response $response, array $args): Response {
$urlParams = $request->getQueryParams();
$test = Test::where('id', $urlParams['test_id'])->first();
diff --git a/src/Controllers/TestController.php b/src/Controllers/TestController.php
index e711846..0a91453 100644
--- a/src/Controllers/TestController.php
+++ b/src/Controllers/TestController.php
@@ -109,4 +109,13 @@ class TestController extends Controller {
->withStatus(302);
}
+ public function getResults(Request $request, Response $response, array $args): Response {
+ $test = Test::where('id', $args['test_id'])->first();
+
+ $view = Twig::fromRequest($request);
+ return $view->render($response, 'test/results.twig', [
+ 'test' => $test,
+ ]);
+ }
+
}
diff --git a/src/routes.php b/src/routes.php
index dc2e77c..19cdfe5 100644
--- a/src/routes.php
+++ b/src/routes.php
@@ -42,6 +42,8 @@ $app->group('/test', function(RouteCollectorProxy $group) {
$test->get('/edit', '\\BitGoblin\\Colossus\\Controllers\\TestController:getEdit')->setName('test.edit');
$test->post('/edit', '\\BitGoblin\\Colossus\\Controllers\\TestController:postEdit');
+
+ $test->get('/results', '\\BitGoblin\\Colossus\\Controllers\\TestController:getResults')->setName('test.results');
});
});
@@ -56,6 +58,7 @@ $app->group('/api', function(RouteCollectorProxy $group) {
$apiv1->get('/result/list', '\\BitGoblin\\Colossus\\Controllers\\ApiController:getResultList')->setName('api.resultList');
$apiv1->post('/result/add', '\\BitGoblin\\Colossus\\Controllers\\ApiController:postResultAdd')->setName('api.resultAdd');
+ $apiv1->get('/result/{result_id}/delete', '\\BitGoblin\\Colossus\\Controllers\\ApiController:getResultDelete')->setName('api.resultDelete');
$apiv1->get('/test/details', '\\BitGoblin\\Colossus\\Controllers\\ApiController:getTestDetails')->setName('api.testDetails');
});
diff --git a/views/test/results.twig b/views/test/results.twig
new file mode 100644
index 0000000..b8516e3
--- /dev/null
+++ b/views/test/results.twig
@@ -0,0 +1,44 @@
+{% extends 'layout.twig' %}
+
+{% block title %}Result Details for {{ test.title }}{% endblock %}
+
+{% block content %}
+
+
+
Result Details for {{ test.title }}
+
Back
+
+
+
+
+
+
+ {% for b in test.benchmarks %}
+
+
+
+
+
+ Average |
+ Minimum |
+ Maximum |
+ Edit |
+ Delete |
+
+
+
+ {% for r in b.results().where('test_id', test.id).get() %}
+
+ {{ r.average }} |
+ {{ r.minimum }} |
+ {{ r.maximum }} |
+ Edit |
+ Delete |
+
+ {% endfor %}
+
+
+
+ {% endfor %}
+
+{% endblock %}
diff --git a/views/test/view.twig b/views/test/view.twig
index c4e39c6..ff2814e 100644
--- a/views/test/view.twig
+++ b/views/test/view.twig
@@ -61,6 +61,7 @@
Avg. |
Min. |
Max. |
+ Actions |