From e6333b855fcc6b2408a40d40f8ee36166498cd57 Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Fri, 9 Feb 2024 10:03:27 -0500 Subject: [PATCH] Added form to hardware view page for adding test results --- src/routes/hardware.rb | 6 +++-- src/routes/result.rb | 16 +++++++++--- views/hardware/view.erb | 56 ++++++++++++++++++++++++++++++++++++++--- 3 files changed, 68 insertions(+), 10 deletions(-) diff --git a/src/routes/hardware.rb b/src/routes/hardware.rb index d4fdde4..5aa767b 100644 --- a/src/routes/hardware.rb +++ b/src/routes/hardware.rb @@ -14,7 +14,7 @@ class GameData < Sinatra::Base get '/hardware/add' do erb :'hardware/add', locals: { - title: 'Add Hardware' + title: 'Add Hardware', } end post '/hardware/add' do @@ -27,10 +27,12 @@ class GameData < Sinatra::Base end get '/hardware/:hardware_id' do + benchmarks = Benchmark.order(:name).all() hardware = Hardware.where(id: params[:hardware_id]).first() erb :'hardware/view', locals: { title: hardware.name, - hardware: hardware + hardware: hardware, + benchmarks: benchmarks } end diff --git a/src/routes/result.rb b/src/routes/result.rb index 00ffb3d..58f20bd 100644 --- a/src/routes/result.rb +++ b/src/routes/result.rb @@ -29,12 +29,20 @@ class GameData < Sinatra::Base Result.create( hardware_id: params[:result_hardware], benchmark_id: params[:result_benchmark], - score: params[:result_average], - minimum_score: result_minimum, - maximum_score: result_maximum + avg_score: params[:result_average], + min_score: result_minimum, + max_score: result_maximum ) - redirect '/result' + if params.key?(:result_referrer) + if params[:result_referrer] == 'hardware' + redirect "/hardware/#{params[:result_hardware]}" + elsif params[:result_referrer] == 'benchmark' + redirect "/benchmark/#{params[:result_benchmark]}" + end + else + redirect '/result' + end end end diff --git a/views/hardware/view.erb b/views/hardware/view.erb index 8fca630..d3d9696 100644 --- a/views/hardware/view.erb +++ b/views/hardware/view.erb @@ -2,18 +2,66 @@

<%= hardware.name %>

+ +
+ Hardware type: <%= hardware.type %> +
+
+
- <%= hardware.type %> -
+
+ + + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
-

Benchmark results involving this hardware:

+
    <% hardware.results().each do |r| %> -
  • <% r.score %>
  • +
  • <%= r.avg_score %>
  • <% end %>