60 Commits

Author SHA1 Message Date
a8b1238017 Adding event: tag to the asset packaging step
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-07-14 13:45:48 -04:00
73cb99630f Updating Grunt commands
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-07-14 13:44:49 -04:00
6434fd0b9c Started working on test edit page; removed nodemon because it wasn't working 2025-07-02 17:34:06 -04:00
3fa86ad23d Added nodemon to dev dependencies to automatially reload the app on changes 2025-07-02 16:58:02 -04:00
190ae9f302 Fixed typo in Gruntfile; added Make tasks to compile frontend assets; Modernized the gathering of benchmark result data for the test view 2025-07-02 15:58:13 -04:00
771d26ec3b Improved some styles 2024-06-08 10:01:25 -04:00
da6397dd14 [Issue #8] - Licensing project under the BSD 2-Clause license (#10)
Adding license to project

Co-authored-by: Gregory Ballantine <gballantine@bitgoblin.tech>
Reviewed-on: #10
2024-05-31 09:28:23 -04:00
8e20e5e354 3-add-gruntjs (#9)
Adding Grunt.js to compile SASS and CoffeeScript assets

Co-authored-by: Gregory Ballantine <gregory.w.ballantine@nasa.gov>
Co-authored-by: Gregory Ballantine <gballantine555@gmail.com>
Reviewed-on: #9
2024-05-31 09:00:18 -04:00
533c407183 Updated some styles for tables and links 2024-05-29 15:07:54 -04:00
fb76f28643 Added tests to hardware page 2024-05-29 12:33:45 -04:00
06262431da Updated some styles 2024-05-29 12:10:27 -04:00
e734d4077d Updated some styles 2024-05-29 12:08:58 -04:00
9617f4280d Fixed results table in test view 2024-05-29 12:04:08 -04:00
3ec5605c53 Fixed results table in test view 2024-05-29 12:02:45 -04:00
ed5232371c Fixed results table in test view 2024-05-29 12:00:04 -04:00
29d9cbc59c Fixed results table in test view 2024-05-29 11:57:49 -04:00
3eca29c2db Added back reference associations for result; added table of results to test view 2024-05-29 11:52:01 -04:00
8df9b7684f added missing import 2024-05-29 11:43:42 -04:00
7282d0a4b6 Fixed result form stuff 2024-05-29 11:43:17 -04:00
0525838f4b Fixed float variable types 2024-05-29 11:41:53 -04:00
958c72ee63 Added result creation route 2024-05-29 11:40:42 -04:00
fa92321176 Added result model; added form to submit results 2024-05-29 11:26:42 -04:00
458646ee8e Added result model; added form to submit results 2024-05-29 11:26:17 -04:00
9df8f6c9e1 Added result model; added form to submit results 2024-05-29 11:25:45 -04:00
7e294c8f72 Cleaned up runtime version 2024-05-29 11:09:55 -04:00
cefa79a8b8 Added Go runtime version to the layout footer 2024-05-29 11:05:02 -04:00
1e87466ccb Added Go runtime version to the layout footer 2024-05-29 11:04:31 -04:00
e3e4e24e56 Fixed associating benchmarks to test 2024-05-29 10:07:15 -04:00
2be6d216d1 Fixed creating new test 2024-05-29 09:52:41 -04:00
93170d0935 Fixed creating new test 2024-05-29 09:47:49 -04:00
2299ac0a93 Added more information to the test view page 2024-05-29 09:23:41 -04:00
3ec465872e Fixed typo in test view route 2024-05-29 09:19:53 -04:00
52e4d9c420 Fixed typos in benchmark list view 2024-05-29 09:17:07 -04:00
9ddf7fa928 Fixed typos in model searches 2024-05-29 09:16:32 -04:00
ab6b94cb5f Fixed typo in benchmark list view 2024-05-29 09:14:09 -04:00
39185f1144 Fixed benchmark form submission error 2024-05-29 09:13:10 -04:00
403ab7f166 Fixed mix up between benchmark and hardware routes files 2024-05-29 09:12:19 -04:00
ba06a2ea4c Added benchmarks routes and views 2024-05-29 09:11:13 -04:00
95fe5ab400 Slight tweak to create test view 2024-05-29 09:03:14 -04:00
9ddc3db48d Fixed form select field styling 2024-05-29 09:02:00 -04:00
8412163370 Fixed variable capitalization in create test view 2024-05-29 09:00:14 -04:00
86bf4d37f0 Added description field to Test model 2024-05-29 08:58:30 -04:00
6cb2ac0263 Passed hardware components and benchmarks to create test view 2024-05-29 08:57:52 -04:00
dea08d15dd Added route to view test 2024-05-29 08:45:53 -04:00
cf7623fbb9 Added route to view test 2024-05-29 08:43:57 -04:00
a51c8aa8a4 Added route to view test 2024-05-29 08:42:53 -04:00
9fd6ec6b0b Added route to view hardware component 2024-05-29 08:40:02 -04:00
5b14721b14 Added route to view hardware component 2024-05-29 08:39:27 -04:00
dcfc6e0115 Added route to view hardware component 2024-05-29 08:37:51 -04:00
4ad9a92306 Added hardware routes and views 2023-12-02 22:37:46 -05:00
c5df026d04 Lots of changes 2023-12-02 22:16:16 -05:00
16704aeeb1 Added ability to create projects 2023-11-28 16:36:11 -05:00
bae65994f8 Refactored models code to follow a better approach for opening and closing the database connection 2023-11-28 14:40:12 -05:00
19670e9abd Added models; started working on project routes 2023-11-27 23:41:48 -05:00
49925c6d8f Added Gorm to project 2023-11-27 22:36:58 -05:00
0ee3d06f89 Copied some styles from Leviathan 2023-11-27 22:26:36 -05:00
9dceaa8119 Started working on the layout of the app 2023-11-24 23:34:50 -05:00
cbc816ad70 Updated Makefile to auto-define version 2023-11-24 14:28:53 -05:00
92d8e5fa09 Added templating, versioning, middleware, etc 2023-11-24 14:27:23 -05:00
cd7003223a Better start for Flamego 2023-11-24 13:25:24 -05:00
5 changed files with 2 additions and 61 deletions

1
.gitignore vendored
View File

@ -3,7 +3,6 @@ blt
# Local data files
data/
tmp/
# Compiled assets
public/css/

View File

@ -1,8 +1,6 @@
package models
import (
"strconv"
"gorm.io/gorm"
)
@ -18,7 +16,3 @@ type Benchmark struct {
// has many results
Results []Result
}
func (b *Benchmark) StringID() string {
return strconv.Itoa(int(b.ID))
}

View File

@ -1,8 +1,6 @@
package models
import (
"strconv"
"gorm.io/gorm"
)
@ -21,12 +19,3 @@ type Test struct {
// has many results
Results []Result
}
func (t *Test) SelectedBenchmarks() []string {
benchmarks := t.Benchmarks
ids := make([]string, len(benchmarks))
for i, b := range benchmarks {
ids[i] = strconv.Itoa(int(b.ID))
}
return ids
}

View File

@ -30,9 +30,9 @@
<label for="test_benchmarks">
Benchmarks to Test:
<select id="test_benchmarks" class="u-full-width" name="test_benchmarks" multiple>
{{ $selectedBenchmarks := .selectedBenchmarks }}
{{ $testBenchmarks := .test.Benchmarks }}
{{ range $bm := .benchmarks }}
<option value="{{ $bm.ID }}" {{ if contains $selectedBenchmarks $bm.StringID }}selected{{ end }}>{{ $bm.Name }}</option>
<option value="{{ $bm.ID }}" {{ if contains $testBenchmarks $bm.ID }}selected{{ end }}>{{ $bm.Name }}</option>
{{ end }}
</select>
</label>

View File

@ -99,47 +99,6 @@ func TestGetEdit(c flamego.Context, t template.Template, data template.Data) {
models.DB.Find(&benchmarks)
data["benchmarks"] = benchmarks
// determine which benchmarks are selected in a test
selectedBenchmarks := test.SelectedBenchmarks()
data["selectedBenchmarks"] = selectedBenchmarks
data["title"] = fmt.Sprintf("Editing Test: %s", test.Name)
t.HTML(http.StatusOK, "test/edit")
}
func TestPostEdit(c flamego.Context, form forms.TestForm, 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 test ID from request
testID := c.Param("test_id")
// find hardware from DB
var test models.Test
models.DB.Preload("Hardware").Preload("Benchmarks").First(&test, testID)
test := models.Test{
Name: form.Name,
Description: form.Description,
HardwareID: form.Hardware,
}
_ = models.DB.Create(&test)
// bind benchmarks to test
for _, v := range form.Benchmarks {
var benchmark models.Benchmark
models.DB.First(&benchmark, v) // find benchmark
models.DB.Model(&test).Association("Benchmarks").Append(&benchmark)
}
c.Redirect(fmt.Sprintf("/test/%d", test.ID))
}