Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
431d94660d | |||
|
fd66449c28 |
38
templates/benchmark/edit.tmpl
Normal file
38
templates/benchmark/edit.tmpl
Normal file
@@ -0,0 +1,38 @@
|
||||
{{ template "header" . }}
|
||||
|
||||
<div class="row">
|
||||
<h2>Editing Benchmark: {{ .benchmark.Name }}</h2>
|
||||
|
||||
<form class="twelve columns" action="/benchmark/{{ .benchmark.ID }}/edit" method="POST">
|
||||
<div class="row">
|
||||
<div class="nine columns">
|
||||
<label for="benchmark_name">
|
||||
Benchmark name:
|
||||
<input id="benchmark_name" class="u-full-width" type="text" name="benchmark_name" placeholder="Unigine Heaven" value="{{ .benchmark.Name }}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="three columns">
|
||||
<label for="benchmark_scoring">
|
||||
Benchmark type:
|
||||
<select id="benchmark_scoring" class="u-full-width" name="benchmark_scoring">
|
||||
<option value="fps" {{ if eq .benchmark.ScoringType "fps" }}selected{{ end }}>Frames per second</option>
|
||||
<option value="ms" {{ if eq .benchmark.ScoringType "ms" }}selected{{ end }}>Frame time</option>
|
||||
<option value="pts" {{ if eq .benchmark.ScoringType "pts" }}selected{{ end }}>Total points</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="benchmark_description">
|
||||
Benchmark description:
|
||||
<textarea id="benchmark_description" class="twelve columns" cols="30" rows="10" name="benchmark_description">{{ .benchmark.Description }}</textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<input class="button-primary u-full-width" type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{{ template "footer" . }}
|
@@ -3,8 +3,12 @@
|
||||
<div class="row">
|
||||
<h2>{{ .benchmark.Name }}</h2>
|
||||
|
||||
<span><a href="/benchmark/{{ .benchmark.ID }}/edit">Edit</a></span>
|
||||
|
||||
<p>{{ .benchmark.ScoringType }}</p>
|
||||
|
||||
<p>{{ .benchmark.Description }}</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Latest Benchmark Results:</h4>
|
||||
|
34
templates/hardware/edit.tmpl
Normal file
34
templates/hardware/edit.tmpl
Normal file
@@ -0,0 +1,34 @@
|
||||
{{ template "header" . }}
|
||||
|
||||
<div class="row">
|
||||
<h2>Add new hardware</h2>
|
||||
|
||||
<form class="twelve columns" action="/hardware/{{ .hardware.ID }}/edit" method="POST">
|
||||
<div class="row">
|
||||
<div class="nine columns">
|
||||
<label for="hardware_name">
|
||||
Hardware name:
|
||||
<input id="hardware_name" class="u-full-width" type="text" name="hardware_name" placeholder="EVGA RTX 3080 Ti" value="{{ .hardware.Name }}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="three columns">
|
||||
<label for="hardware_type">
|
||||
Hardware type:
|
||||
<select id="hardware_type" class="u-full-width" name="hardware_type">
|
||||
<option value="cpu" {{ if eq .hardware.Type "cpu" }}selected{{ end }}>Processor</option>
|
||||
<option value="mem" {{ if eq .hardware.Type "mem" }}selected{{ end }}>Memory</option>
|
||||
<option value="gpu" {{ if eq .hardware.Type "gpu" }}selected{{ end }}>Graphics Card</option>
|
||||
<option value="ssd" {{ if eq .hardware.Type "ssd" }}selected{{ end }}>Solid State Drive</option>
|
||||
<option value="hdd" {{ if eq .hardware.Type "hdd" }}selected{{ end }}>Hard Drive</option>
|
||||
<option value="nic" {{ if eq .hardware.Type "nic" }}selected{{ end }}>Network Card</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input class="button-primary u-full-width" type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{{ template "footer" . }}
|
@@ -3,6 +3,8 @@
|
||||
<div class="row">
|
||||
<h2>{{ .hardware.Name }}</h2>
|
||||
|
||||
<span><a href="/hardware/{{ .hardware.ID }}/edit">Edit</a></span>
|
||||
|
||||
<p>{{ .hardware.Type }}</p>
|
||||
|
||||
<hr>
|
||||
|
@@ -3,11 +3,15 @@
|
||||
<div class="row">
|
||||
<h2>{{ .test.Name }}</h2>
|
||||
|
||||
<p>Hardware tested: <a href="/hardware/{{ .test.Hardware.ID }}">{{ .test.Hardware.Name }}</a></p>
|
||||
<span><a href="/test/{{ .test.ID }}/edit">Edit</a></span>
|
||||
|
||||
<p>{{ .test.Description }}</p>
|
||||
|
||||
<h4>Benchmarks used:</h4>
|
||||
<h4>Test Info:</h4>
|
||||
|
||||
<p>Hardware tested: <a href="/hardware/{{ .test.Hardware.ID }}">{{ .test.Hardware.Name }}</a></p>
|
||||
|
||||
<p>Benchmarks used:</p>
|
||||
|
||||
<ul>
|
||||
{{ range $bm := .test.Benchmarks }}
|
||||
|
@@ -24,6 +24,9 @@ func RegisterRoutes(f *flamego.Flame) {
|
||||
f.Post("/create", binding.Form(forms.HardwareForm{}), routes.HardwarePostCreate)
|
||||
|
||||
f.Get("/{hardware_id}", routes.HardwareGetView)
|
||||
|
||||
f.Get("/{hardware_id}/edit", routes.HardwareGetEdit)
|
||||
f.Post("/{hardware_id}/edit", binding.Form(forms.HardwareForm{}), routes.HardwarePostEdit)
|
||||
})
|
||||
|
||||
// benchmark routes
|
||||
@@ -38,6 +41,9 @@ func RegisterRoutes(f *flamego.Flame) {
|
||||
f.Post("/create", binding.Form(forms.BenchmarkForm{}), routes.BenchmarkPostCreate)
|
||||
|
||||
f.Get("/{benchmark_id}", routes.BenchmarkGetView)
|
||||
|
||||
f.Get("/{benchmark_id}/edit", routes.BenchmarkGetEdit)
|
||||
f.Post("/{benchmark_id}/edit", binding.Form(forms.BenchmarkForm{}), routes.BenchmarkPostEdit)
|
||||
})
|
||||
|
||||
// test routes
|
||||
|
@@ -64,3 +64,44 @@ func BenchmarkPostCreate(c flamego.Context, form forms.BenchmarkForm, errs bindi
|
||||
|
||||
c.Redirect(fmt.Sprintf("/benchmark/%d", benchmark.ID))
|
||||
}
|
||||
|
||||
func BenchmarkGetEdit(c flamego.Context, t template.Template, data template.Data) {
|
||||
// find benchmark ID from request
|
||||
benchmarkID := c.Param("benchmark_id")
|
||||
|
||||
// find benchmark from DB
|
||||
var benchmark models.Benchmark
|
||||
models.DB.First(&benchmark, benchmarkID)
|
||||
data["benchmark"] = benchmark
|
||||
|
||||
data["title"] = "Editing Benchmark"
|
||||
t.HTML(http.StatusOK, "benchmark/edit")
|
||||
}
|
||||
|
||||
func BenchmarkPostEdit(c flamego.Context, form forms.BenchmarkForm, errs binding.Errors) {
|
||||
if len(errs) > 0 {
|
||||
var err error
|
||||
switch errs[0].Category {
|
||||
case binding.ErrorCategoryValidation:
|
||||
err = errs[0].Err.(validator.ValidationErrors)[0]
|
||||
default:
|
||||
err = errs[0].Err
|
||||
}
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// find benchmark ID from request
|
||||
benchmarkID := c.Param("benchmark_id")
|
||||
|
||||
// find benchmark from DB
|
||||
var benchmark models.Benchmark
|
||||
models.DB.First(&benchmark, benchmarkID)
|
||||
|
||||
benchmark.Name = form.Name
|
||||
benchmark.ScoringType = form.ScoringType
|
||||
benchmark.Description = form.Description
|
||||
|
||||
models.DB.Save(&benchmark)
|
||||
|
||||
c.Redirect(fmt.Sprintf("/benchmark/%d", benchmark.ID))
|
||||
}
|
||||
|
@@ -63,3 +63,43 @@ func HardwarePostCreate(c flamego.Context, form forms.HardwareForm, errs binding
|
||||
|
||||
c.Redirect(fmt.Sprintf("/hardware/%d", hardware.ID))
|
||||
}
|
||||
|
||||
func HardwareGetEdit(c flamego.Context, t template.Template, data template.Data) {
|
||||
// find hardware ID from request
|
||||
hardwareID := c.Param("hardware_id")
|
||||
|
||||
// find hardware from DB
|
||||
var hardware models.Hardware
|
||||
models.DB.Preload("Tests.Benchmarks").First(&hardware, hardwareID)
|
||||
data["hardware"] = hardware
|
||||
|
||||
data["title"] = "Edit Hardware"
|
||||
t.HTML(http.StatusOK, "hardware/edit")
|
||||
}
|
||||
|
||||
func HardwarePostEdit(c flamego.Context, form forms.HardwareForm, errs binding.Errors) {
|
||||
if len(errs) > 0 {
|
||||
var err error
|
||||
switch errs[0].Category {
|
||||
case binding.ErrorCategoryValidation:
|
||||
err = errs[0].Err.(validator.ValidationErrors)[0]
|
||||
default:
|
||||
err = errs[0].Err
|
||||
}
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// find hardware ID from request
|
||||
hardwareID := c.Param("hardware_id")
|
||||
|
||||
// find hardware from DB
|
||||
var hardware models.Hardware
|
||||
models.DB.Preload("Tests.Benchmarks").First(&hardware, hardwareID)
|
||||
|
||||
hardware.Name = form.Name
|
||||
hardware.Type = form.Type
|
||||
|
||||
models.DB.Save(&hardware)
|
||||
|
||||
c.Redirect(fmt.Sprintf("/hardware/%d", hardware.ID))
|
||||
}
|
||||
|
@@ -148,5 +148,7 @@ func TestPostEdit(c flamego.Context, form forms.TestForm, errs binding.Errors) {
|
||||
}
|
||||
}
|
||||
|
||||
models.DB.Save(&test)
|
||||
|
||||
c.Redirect(fmt.Sprintf("/test/%d", test.ID))
|
||||
}
|
||||
|
Reference in New Issue
Block a user