aboutsummaryrefslogtreecommitdiff
path: root/internal/route/user/setting.go
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-03-16 01:22:27 +0800
committerᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-03-16 01:22:27 +0800
commit9e9ca66467116e9079a2639c00e9e623aca23015 (patch)
treedacdef5392608ff7107e4dd498959d4899e13e54 /internal/route/user/setting.go
parent82ff0c5852f29daa5f95d965fd50665581e7ea3c (diff)
refactor: unify error handling in routing layer
Diffstat (limited to 'internal/route/user/setting.go')
-rw-r--r--internal/route/user/setting.go88
1 files changed, 44 insertions, 44 deletions
diff --git a/internal/route/user/setting.go b/internal/route/user/setting.go
index f09e4034..d8ae9e70 100644
--- a/internal/route/user/setting.go
+++ b/internal/route/user/setting.go
@@ -80,7 +80,7 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) {
case db.IsErrNamePatternNotAllowed(err):
msg = c.Tr("form.name_pattern_not_allowed")
default:
- c.ServerError("ChangeUserName", err)
+ c.Error(err, "change user name")
return
}
@@ -106,12 +106,12 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) {
c.RenderWithErr(msg, SETTINGS_PROFILE, &f)
return
}
- c.ServerError("UpdateUser", err)
+ c.Errorf(err, "update user")
return
}
c.Flash.Success(c.Tr("settings.update_profile_success"))
- c.SubURLRedirect("/user/settings")
+ c.RedirectSubpath("/user/settings")
}
// FIXME: limit upload size
@@ -169,7 +169,7 @@ func SettingsAvatarPost(c *context.Context, f form.Avatar) {
c.Flash.Success(c.Tr("settings.update_avatar_success"))
}
- c.SubURLRedirect("/user/settings/avatar")
+ c.RedirectSubpath("/user/settings/avatar")
}
func SettingsDeleteAvatar(c *context.Context) {
@@ -177,7 +177,7 @@ func SettingsDeleteAvatar(c *context.Context) {
c.Flash.Error(fmt.Sprintf("Failed to delete avatar: %v", err))
}
- c.SubURLRedirect("/user/settings/avatar")
+ c.RedirectSubpath("/user/settings/avatar")
}
func SettingsPassword(c *context.Context) {
@@ -203,18 +203,18 @@ func SettingsPasswordPost(c *context.Context, f form.ChangePassword) {
c.User.Passwd = f.Password
var err error
if c.User.Salt, err = db.GetUserSalt(); err != nil {
- c.ServerError("GetUserSalt", err)
+ c.Errorf(err, "get user salt")
return
}
c.User.EncodePasswd()
if err := db.UpdateUser(c.User); err != nil {
- c.ServerError("UpdateUser", err)
+ c.Errorf(err, "update user")
return
}
c.Flash.Success(c.Tr("settings.change_password_success"))
}
- c.SubURLRedirect("/user/settings/password")
+ c.RedirectSubpath("/user/settings/password")
}
func SettingsEmails(c *context.Context) {
@@ -223,7 +223,7 @@ func SettingsEmails(c *context.Context) {
emails, err := db.GetEmailAddresses(c.User.ID)
if err != nil {
- c.ServerError("GetEmailAddresses", err)
+ c.Errorf(err, "get email addresses")
return
}
c.Data["Emails"] = emails
@@ -238,18 +238,18 @@ func SettingsEmailPost(c *context.Context, f form.AddEmail) {
// Make emailaddress primary.
if c.Query("_method") == "PRIMARY" {
if err := db.MakeEmailPrimary(c.UserID(), &db.EmailAddress{ID: c.QueryInt64("id")}); err != nil {
- c.ServerError("MakeEmailPrimary", err)
+ c.Errorf(err, "make email primary")
return
}
- c.SubURLRedirect("/user/settings/email")
+ c.RedirectSubpath("/user/settings/email")
return
}
// Add Email address.
emails, err := db.GetEmailAddresses(c.User.ID)
if err != nil {
- c.ServerError("GetEmailAddresses", err)
+ c.Errorf(err, "get email addresses")
return
}
c.Data["Emails"] = emails
@@ -268,7 +268,7 @@ func SettingsEmailPost(c *context.Context, f form.AddEmail) {
if db.IsErrEmailAlreadyUsed(err) {
c.RenderWithErr(c.Tr("form.email_been_used"), SETTINGS_EMAILS, &f)
} else {
- c.ServerError("AddEmailAddress", err)
+ c.Errorf(err, "add email address")
}
return
}
@@ -285,7 +285,7 @@ func SettingsEmailPost(c *context.Context, f form.AddEmail) {
c.Flash.Success(c.Tr("settings.add_email_success"))
}
- c.SubURLRedirect("/user/settings/email")
+ c.RedirectSubpath("/user/settings/email")
}
func DeleteEmail(c *context.Context) {
@@ -293,7 +293,7 @@ func DeleteEmail(c *context.Context) {
ID: c.QueryInt64("id"),
UID: c.User.ID,
}); err != nil {
- c.ServerError("DeleteEmailAddress", err)
+ c.Errorf(err, "delete email address")
return
}
@@ -309,7 +309,7 @@ func SettingsSSHKeys(c *context.Context) {
keys, err := db.ListPublicKeys(c.User.ID)
if err != nil {
- c.ServerError("ListPublicKeys", err)
+ c.Errorf(err, "list public keys")
return
}
c.Data["Keys"] = keys
@@ -323,7 +323,7 @@ func SettingsSSHKeysPost(c *context.Context, f form.AddSSHKey) {
keys, err := db.ListPublicKeys(c.User.ID)
if err != nil {
- c.ServerError("ListPublicKeys", err)
+ c.Errorf(err, "list public keys")
return
}
c.Data["Keys"] = keys
@@ -339,7 +339,7 @@ func SettingsSSHKeysPost(c *context.Context, f form.AddSSHKey) {
c.Flash.Info(c.Tr("form.unable_verify_ssh_key"))
} else {
c.Flash.Error(c.Tr("form.invalid_ssh_key", err.Error()))
- c.SubURLRedirect("/user/settings/ssh")
+ c.RedirectSubpath("/user/settings/ssh")
return
}
}
@@ -354,13 +354,13 @@ func SettingsSSHKeysPost(c *context.Context, f form.AddSSHKey) {
c.FormErr("Title")
c.RenderWithErr(c.Tr("settings.ssh_key_name_used"), SETTINGS_SSH_KEYS, &f)
default:
- c.ServerError("AddPublicKey", err)
+ c.Errorf(err, "add public key")
}
return
}
c.Flash.Success(c.Tr("settings.add_key_success", f.Title))
- c.SubURLRedirect("/user/settings/ssh")
+ c.RedirectSubpath("/user/settings/ssh")
}
func DeleteSSHKey(c *context.Context) {
@@ -381,7 +381,7 @@ func SettingsSecurity(c *context.Context) {
t, err := db.GetTwoFactorByUserID(c.UserID())
if err != nil && !errors.IsTwoFactorNotFound(err) {
- c.ServerError("GetTwoFactorByUserID", err)
+ c.Errorf(err, "get two factor by user ID")
return
}
c.Data["TwoFactor"] = t
@@ -410,7 +410,7 @@ func SettingsTwoFactorEnable(c *context.Context) {
AccountName: c.User.Email,
})
if err != nil {
- c.ServerError("Generate", err)
+ c.Errorf(err, "generate TOTP")
return
}
}
@@ -418,13 +418,13 @@ func SettingsTwoFactorEnable(c *context.Context) {
img, err := key.Image(240, 240)
if err != nil {
- c.ServerError("Image", err)
+ c.Errorf(err, "generate image")
return
}
var buf bytes.Buffer
if err = png.Encode(&buf, img); err != nil {
- c.ServerError("Encode", err)
+ c.Errorf(err, "encode image")
return
}
c.Data["QRCode"] = template.URL("data:image/png;base64," + base64.StdEncoding.EncodeToString(buf.Bytes()))
@@ -443,20 +443,20 @@ func SettingsTwoFactorEnablePost(c *context.Context) {
if !totp.Validate(c.Query("passcode"), secret) {
c.Flash.Error(c.Tr("settings.two_factor_invalid_passcode"))
- c.SubURLRedirect("/user/settings/security/two_factor_enable")
+ c.RedirectSubpath("/user/settings/security/two_factor_enable")
return
}
if err := db.NewTwoFactor(c.UserID(), secret); err != nil {
c.Flash.Error(c.Tr("settings.two_factor_enable_error", err))
- c.SubURLRedirect("/user/settings/security/two_factor_enable")
+ c.RedirectSubpath("/user/settings/security/two_factor_enable")
return
}
c.Session.Delete("twoFactorSecret")
c.Session.Delete("twoFactorURL")
c.Flash.Success(c.Tr("settings.two_factor_enable_success"))
- c.SubURLRedirect("/user/settings/security/two_factor_recovery_codes")
+ c.RedirectSubpath("/user/settings/security/two_factor_recovery_codes")
}
func SettingsTwoFactorRecoveryCodes(c *context.Context) {
@@ -470,7 +470,7 @@ func SettingsTwoFactorRecoveryCodes(c *context.Context) {
recoveryCodes, err := db.GetRecoveryCodesByUserID(c.UserID())
if err != nil {
- c.ServerError("GetRecoveryCodesByUserID", err)
+ c.Errorf(err, "get recovery codes by user ID")
return
}
c.Data["RecoveryCodes"] = recoveryCodes
@@ -490,7 +490,7 @@ func SettingsTwoFactorRecoveryCodesPost(c *context.Context) {
c.Flash.Success(c.Tr("settings.two_factor_regenerate_recovery_codes_success"))
}
- c.SubURLRedirect("/user/settings/security/two_factor_recovery_codes")
+ c.RedirectSubpath("/user/settings/security/two_factor_recovery_codes")
}
func SettingsTwoFactorDisable(c *context.Context) {
@@ -500,7 +500,7 @@ func SettingsTwoFactorDisable(c *context.Context) {
}
if err := db.DeleteTwoFactor(c.UserID()); err != nil {
- c.ServerError("DeleteTwoFactor", err)
+ c.Errorf(err, "delete two factor")
return
}
@@ -516,11 +516,11 @@ func SettingsRepos(c *context.Context) {
repos, err := db.GetUserAndCollaborativeRepositories(c.User.ID)
if err != nil {
- c.ServerError("GetUserAndCollaborativeRepositories", err)
+ c.Errorf(err, "get user and collaborative repositories")
return
}
if err = db.RepositoryList(repos).LoadAttributes(); err != nil {
- c.ServerError("LoadAttributes", err)
+ c.Errorf(err, "load attributes")
return
}
c.Data["Repos"] = repos
@@ -531,12 +531,12 @@ func SettingsRepos(c *context.Context) {
func SettingsLeaveRepo(c *context.Context) {
repo, err := db.GetRepositoryByID(c.QueryInt64("id"))
if err != nil {
- c.NotFoundOrServerError("GetRepositoryByID", errors.IsRepoNotExist, err)
+ c.NotFoundOrError(err, "get repository by ID")
return
}
if err = repo.DeleteCollaboration(c.User.ID); err != nil {
- c.ServerError("DeleteCollaboration", err)
+ c.Errorf(err, "delete collaboration")
return
}
@@ -552,7 +552,7 @@ func SettingsOrganizations(c *context.Context) {
orgs, err := db.GetOrgsByUserID(c.User.ID, true)
if err != nil {
- c.ServerError("GetOrgsByUserID", err)
+ c.Errorf(err, "get organizations by user ID")
return
}
c.Data["Orgs"] = orgs
@@ -565,7 +565,7 @@ func SettingsLeaveOrganization(c *context.Context) {
if db.IsErrLastOrgOwner(err) {
c.Flash.Error(c.Tr("form.last_org_owner"))
} else {
- c.ServerError("RemoveOrgUser", err)
+ c.Errorf(err, "remove organization user")
return
}
}
@@ -581,7 +581,7 @@ func SettingsApplications(c *context.Context) {
tokens, err := db.ListAccessTokens(c.User.ID)
if err != nil {
- c.ServerError("ListAccessTokens", err)
+ c.Errorf(err, "list access tokens")
return
}
c.Data["Tokens"] = tokens
@@ -596,7 +596,7 @@ func SettingsApplicationsPost(c *context.Context, f form.NewAccessToken) {
if c.HasError() {
tokens, err := db.ListAccessTokens(c.User.ID)
if err != nil {
- c.ServerError("ListAccessTokens", err)
+ c.Errorf(err, "list access tokens")
return
}
@@ -612,16 +612,16 @@ func SettingsApplicationsPost(c *context.Context, f form.NewAccessToken) {
if err := db.NewAccessToken(t); err != nil {
if errors.IsAccessTokenNameAlreadyExist(err) {
c.Flash.Error(c.Tr("settings.token_name_exists"))
- c.SubURLRedirect("/user/settings/applications")
+ c.RedirectSubpath("/user/settings/applications")
} else {
- c.ServerError("NewAccessToken", err)
+ c.Errorf(err, "new access token")
}
return
}
c.Flash.Success(c.Tr("settings.generate_token_succees"))
c.Flash.Info(t.Sha1)
- c.SubURLRedirect("/user/settings/applications")
+ c.RedirectSubpath("/user/settings/applications")
}
func SettingsDeleteApplication(c *context.Context) {
@@ -642,10 +642,10 @@ func SettingsDelete(c *context.Context) {
if c.Req.Method == "POST" {
if _, err := db.UserLogin(c.User.Name, c.Query("password"), c.User.LoginSource); err != nil {
- if errors.IsUserNotExist(err) {
+ if db.IsErrUserNotExist(err) {
c.RenderWithErr(c.Tr("form.enterred_invalid_password"), SETTINGS_DELETE, nil)
} else {
- c.ServerError("UserLogin", err)
+ c.Errorf(err, "authenticate user")
}
return
}
@@ -659,7 +659,7 @@ func SettingsDelete(c *context.Context) {
c.Flash.Error(c.Tr("form.still_has_org"))
c.Redirect(conf.Server.Subpath + "/user/settings/delete")
default:
- c.ServerError("DeleteUser", err)
+ c.Errorf(err, "delete user")
}
} else {
log.Trace("Account deleted: %s", c.User.Name)