func DeleteUser(ctx *middleware.Context) { uid := com.StrTo(ctx.Params(":userid")).MustInt64() if uid == 0 { ctx.Handle(404, "DeleteUser", nil) return } u, err := models.GetUserById(uid) if err != nil { ctx.Handle(500, "GetUserById", err) return } if err = models.DeleteUser(u); err != nil { switch err { case models.ErrUserOwnRepos: ctx.Flash.Error(ctx.Tr("admin.users.still_own_repo")) ctx.Redirect("/admin/users/" + ctx.Params(":userid")) default: ctx.Handle(500, "DeleteUser", err) } return } log.Trace("Account deleted by admin(%s): %s", ctx.User.Name, u.Name) ctx.Redirect("/admin/users") }
func SettingsDelete(ctx *middleware.Context) { ctx.Data["Title"] = ctx.Tr("settings") ctx.Data["PageIsUserSettings"] = true ctx.Data["PageIsSettingsDelete"] = true if ctx.Req.Method == "POST" { // tmpUser := models.User{ // Passwd: ctx.Query("password"), // Salt: ctx.User.Salt, // } // tmpUser.EncodePasswd() // if tmpUser.Passwd != ctx.User.Passwd { // ctx.Flash.Error("Password is not correct. Make sure you are owner of this account.") // } else { if err := models.DeleteUser(ctx.User); err != nil { switch err { case models.ErrUserOwnRepos: ctx.Flash.Error(ctx.Tr("form.still_own_repo")) ctx.Redirect("/user/settings/delete") default: ctx.Handle(500, "DeleteUser", err) } } else { log.Trace("Account deleted: %s", ctx.User.Name) ctx.Redirect("/") } return } ctx.HTML(200, SETTINGS_DELETE) }