aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/ui/form/settings.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/ui/form/settings.go')
-rw-r--r--server/ui/form/settings.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/server/ui/form/settings.go b/server/ui/form/settings.go
index 1e40b97..3d37a0f 100644
--- a/server/ui/form/settings.go
+++ b/server/ui/form/settings.go
@@ -5,11 +5,13 @@
package form
import (
- "errors"
- "github.com/miniflux/miniflux2/model"
"net/http"
+
+ "github.com/miniflux/miniflux2/errors"
+ "github.com/miniflux/miniflux2/model"
)
+// SettingsForm represents the settings form.
type SettingsForm struct {
Username string
Password string
@@ -19,6 +21,7 @@ type SettingsForm struct {
Timezone string
}
+// Merge updates the fields of the given user.
func (s *SettingsForm) Merge(user *model.User) *model.User {
user.Username = s.Username
user.Theme = s.Theme
@@ -32,24 +35,26 @@ func (s *SettingsForm) Merge(user *model.User) *model.User {
return user
}
+// Validate makes sure the form values are valid.
func (s *SettingsForm) Validate() error {
if s.Username == "" || s.Theme == "" || s.Language == "" || s.Timezone == "" {
- return errors.New("The username, theme, language and timezone fields are mandatory.")
+ return errors.NewLocalizedError("The username, theme, language and timezone fields are mandatory.")
}
if s.Password != "" {
if s.Password != s.Confirmation {
- return errors.New("Passwords are not the same.")
+ return errors.NewLocalizedError("Passwords are not the same.")
}
if len(s.Password) < 6 {
- return errors.New("You must use at least 6 characters")
+ return errors.NewLocalizedError("You must use at least 6 characters")
}
}
return nil
}
+// NewSettingsForm returns a new SettingsForm.
func NewSettingsForm(r *http.Request) *SettingsForm {
return &SettingsForm{
Username: r.FormValue("username"),