[Issue #11] - reworked the benchmark profile add page to be more sensible; added links for editing and deleting settings profiles
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@@ -45,7 +45,7 @@ func RegisterRoutes(f *flamego.Flame) {
|
||||
f.Get("/{benchmark_id}/edit", routes.BenchmarkGetEdit)
|
||||
f.Post("/{benchmark_id}/edit", binding.Form(forms.BenchmarkForm{}), routes.BenchmarkPostEdit)
|
||||
|
||||
f.Group("/{benchmark_id}/profile", func() {
|
||||
f.Group("/profile", func() {
|
||||
f.Get("/add", routes.BenchmarkGetProfileAdd)
|
||||
f.Post("/add", binding.Form(forms.BenchmarkProfileForm{}), routes.BenchmarkPostProfileAdd)
|
||||
})
|
||||
|
||||
@@ -107,35 +107,34 @@ func BenchmarkPostEdit(c flamego.Context, form forms.BenchmarkForm, errs binding
|
||||
}
|
||||
|
||||
func BenchmarkGetProfileAdd(c flamego.Context, t template.Template, data template.Data) {
|
||||
// find benchmark ID from request
|
||||
benchmarkID := c.Param("benchmark_id")
|
||||
// find benchmark ID from GET parameters
|
||||
benchmarkID := c.Query("benchmark")
|
||||
|
||||
// find benchmark from DB
|
||||
var benchmark models.Benchmark
|
||||
models.DB.First(&benchmark, benchmarkID)
|
||||
data["benchmark"] = benchmark
|
||||
// check if the query parameter was used
|
||||
if benchmarkID != "" {
|
||||
// find benchmark from DB
|
||||
var benchmark models.Benchmark
|
||||
models.DB.First(&benchmark, benchmarkID)
|
||||
data["benchmark"] = benchmark
|
||||
} else {
|
||||
// find all benchmarks from DB
|
||||
var benchmarks []models.Benchmark
|
||||
models.DB.Find(&benchmarks)
|
||||
data["benchmarks"] = benchmarks
|
||||
}
|
||||
|
||||
data["title"] = benchmark.Name
|
||||
data["title"] = "Add new benchmark settings profile"
|
||||
t.HTML(http.StatusOK, "benchmark/profile/add")
|
||||
}
|
||||
|
||||
func BenchmarkPostProfileAdd(c flamego.Context, form forms.BenchmarkProfileForm, errs binding.Errors) {
|
||||
// find benchmark ID from request
|
||||
benchmarkID := c.Param("benchmark_id")
|
||||
|
||||
// find benchmark from DB
|
||||
var benchmark models.Benchmark
|
||||
models.DB.First(&benchmark, benchmarkID)
|
||||
|
||||
benchmarkProfile := models.BenchmarkProfile{
|
||||
BenchmarkID: form.BenchmarkID,
|
||||
Label: form.Label,
|
||||
Settings: form.Settings,
|
||||
}
|
||||
|
||||
fmt.Println(form.BenchmarkID)
|
||||
|
||||
_ = models.DB.Create(&benchmarkProfile)
|
||||
|
||||
c.Redirect(fmt.Sprintf("/benchmark/%d", benchmark.ID))
|
||||
c.Redirect(fmt.Sprintf("/benchmark/%d", form.BenchmarkID))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user