Merge pull request 'Fix boolean inputs in workflow_dispatch' (#5439) from Mai-Lapyst/forgejo:workflow_dispatch-fix-boolean-inputs into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5439
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
This commit is contained in:
Earl Warren 2024-10-26 05:59:50 +00:00
commit 2bdd7cb080
2 changed files with 6 additions and 4 deletions

View file

@ -1,5 +1,5 @@
// Copyright The Forgejo Authors. // Copyright 2024 The Forgejo Authors.
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: GPL-3.0-or-later
package actions package actions
@ -43,7 +43,7 @@ func ManualRunWorkflow(ctx *context_module.Context) {
formKeyGetter := func(key string) string { formKeyGetter := func(key string) string {
formKey := "inputs[" + key + "]" formKey := "inputs[" + key + "]"
return ctx.FormString(formKey) return ctx.Req.PostFormValue(formKey)
} }
if err := workflow.Dispatch(ctx, formKeyGetter, ctx.Repo.Repository, ctx.Doer); err != nil { if err := workflow.Dispatch(ctx, formKeyGetter, ctx.Repo.Repository, ctx.Doer); err != nil {

View file

@ -33,7 +33,9 @@
{{if eq $val.Type "boolean"}} {{if eq $val.Type "boolean"}}
<div class="ui checkbox"> <div class="ui checkbox">
<label><strong>{{if $val.Description}}{{$val.Description}}{{else}}{{$key}}{{end}}</strong></label> <label><strong>{{if $val.Description}}{{$val.Description}}{{else}}{{$key}}{{end}}</strong></label>
<input {{if $val.Required}}required{{end}} type="checkbox" name="inputs[{{$key}}]" {{if eq $val.Default "true"}}checked{{end}}> {{/* These two inputs need to stay in exactly this order (checkbox first, hidden second) or boolean fields wont work correctly! */}}
<input type="checkbox" name="inputs[{{$key}}]" value="on" {{if eq $val.Default "true"}}checked{{end}}>
<input type="hidden" name="inputs[{{$key}}]" value="off" autocomplete="off">
</div> </div>
{{else}} {{else}}
<label>{{if $val.Description}}{{$val.Description}}{{else}}{{$key}}{{end}}</label> <label>{{if $val.Description}}{{$val.Description}}{{else}}{{$key}}{{end}}</label>