1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2025-12-09 09:58:06 +00:00

New user form in /admin/users/

This commit is contained in:
handlerug
2021-07-02 19:02:42 +07:00
parent d4fea3d24a
commit 1c24450a8f
6 changed files with 420 additions and 101 deletions

View File

@@ -91,3 +91,49 @@ func HyphaNameFromRq(rq *http.Request, actions ...string) string {
log.Println("HyphaNameFromRq: this request is invalid, fall back to home hypha")
return cfg.HomeHypha
}
// FormData is a convenient struct for passing user input and errors to HTML
// forms and showing to the user.
type FormData struct {
err error
fields map[string]string
}
func NewFormData() FormData {
return FormData{
err: nil,
fields: map[string]string{},
}
}
func FormDataFromRequest(r *http.Request, keys []string) FormData {
formData := NewFormData()
for _, key := range keys {
formData.Put(key, r.FormValue(key))
}
return formData
}
func (f FormData) HasError() bool {
return f.err != nil
}
func (f FormData) Error() string {
if f.err == nil {
return ""
}
return f.err.Error()
}
func (f FormData) WithError(err error) FormData {
f.err = err
return f
}
func (f FormData) Get(key string) string {
return f.fields[key]
}
func (f FormData) Put(key, value string) {
f.fields[key] = value
}