From 12f81de349b9793c6f8f14b11af32ee94a735d5f Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 11 Mar 2014 11:40:47 -0400 Subject: [PATCH] Finish delete user --- README.md | 12 ++++++------ gogs.go | 2 +- models/user.go | 4 ++-- routers/user/user.go | 18 ++++++++++++++---- templates/user/delete.tmpl | 2 +- wercker.yml | 1 + 6 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 wercker.yml diff --git a/README.md b/README.md index c1f7b3d6..ef7ccec4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -Gogs - Go Git Service [![Go Walker](http://gowalker.org/api/v1/badge)](https://gowalker.org/github.com/gogits/gogs) +Gogs - Go Git Service [![wercker status](https://app.wercker.com/status/ad0bdb0bc450ac6f09bc56b9640a50aa/s/ "wercker status")](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [![Go Walker](http://gowalker.org/api/v1/badge)](https://gowalker.org/github.com/gogits/gogs) ===================== -Gogs(Go Git Service) is a GitHub-like clone in the Go Programming Language. +Gogs(Go Git Service) is a GitHub-like clone in the Go Programming Language, it currently supports Linux and Max OS X, but Windows has **NOT** supported yet due to installation problem with [libgit2](http://libgit2.github.com/) in Windows. ## Purpose @@ -9,14 +9,14 @@ There are some very good products in this category such as [gitlab](http://gitla ## Overview -Please see [Wiki](https://github.com/gogits/gogs/wiki) for project design. +Please see [Wiki](https://github.com/gogits/gogs/wiki) for project design, develop specification, change log and road map. ## Installation -### Dependencies +There are two ways to install Gogs: -- [Go Programming Language](http://golang.org): Main develop language. -- [libgit2](http://libgit2.github.com/)(cgo): Git data manipulation. +- [Install from binary](https://github.com/gogits/gogs/wiki/Install-from-binary) +- [Install from source](https://github.com/gogits/gogs/wiki/Install-from-source) ## Acknowledgments diff --git a/gogs.go b/gogs.go index 0bdf74d7..cf097a3a 100644 --- a/gogs.go +++ b/gogs.go @@ -20,7 +20,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.0.4.0311" +const APP_VER = "0.0.5.0311" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/user.go b/models/user.go index 05169e46..8fa2e44e 100644 --- a/models/user.go +++ b/models/user.go @@ -150,10 +150,10 @@ func UpdateUser(user *User) (err error) { // DeleteUser completely deletes everything of the user. func DeleteUser(user *User) error { - cnt, err := GetRepositoryCount(user) + count, err := GetRepositoryCount(user) if err != nil { return errors.New("modesl.GetRepositories: " + err.Error()) - } else if cnt > 0 { + } else if count > 0 { return ErrUserOwnRepos } diff --git a/routers/user/user.go b/routers/user/user.go index 7a58ba57..5017e878 100644 --- a/routers/user/user.go +++ b/routers/user/user.go @@ -151,8 +151,18 @@ func Delete(data base.TmplData, req *http.Request, session sessions.Session, r r id := auth.SignedInId(session) u := &models.User{Id: id} - err := models.DeleteUser(u) - data["ErrorMsg"] = err - log.Error("user.Delete: %v", data) - r.HTML(200, "base/error", nil) + if err := models.DeleteUser(u); err != nil { + data["HasError"] = true + switch err.Error() { + case models.ErrUserOwnRepos.Error(): + data["ErrorMsg"] = "Your account still have ownership of repository, you have to delete or transfer them first." + default: + data["ErrorMsg"] = err + log.Error("user.Delete: %v", data) + r.HTML(200, "base/error", nil) + return + } + } + + r.HTML(200, "user/delete", data) } diff --git a/templates/user/delete.tmpl b/templates/user/delete.tmpl index e6522aa2..af0e1fbc 100644 --- a/templates/user/delete.tmpl +++ b/templates/user/delete.tmpl @@ -15,7 +15,7 @@

Delete Account

-

Deleting your account is permanent. Sorry to see you go, if you have any feedback you can contact us.

+

{{if not .HasError}}The operation will delete your account permanently. Sorry to see you go, but we know you'll back soon.{{else}}{{.ErrorMsg}}{{end}}

diff --git a/wercker.yml b/wercker.yml new file mode 100644 index 00000000..7c64bf0a --- /dev/null +++ b/wercker.yml @@ -0,0 +1 @@ +box: wercker/default