| @@ -1,7 +1,7 @@ | |||||
| Gogs - Go Git Service [](https://gowalker.org/github.com/gogits/gogs) | |||||
| Gogs - Go Git Service [](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [](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 | ## Purpose | ||||
| @@ -9,14 +9,14 @@ There are some very good products in this category such as [gitlab](http://gitla | |||||
| ## Overview | ## 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 | ## 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 | ## Acknowledgments | ||||
| @@ -20,7 +20,7 @@ import ( | |||||
| // Test that go1.1 tag above is included in builds. main.go refers to this definition. | // Test that go1.1 tag above is included in builds. main.go refers to this definition. | ||||
| const go11tag = true | const go11tag = true | ||||
| const APP_VER = "0.0.4.0311" | |||||
| const APP_VER = "0.0.5.0311" | |||||
| func init() { | func init() { | ||||
| runtime.GOMAXPROCS(runtime.NumCPU()) | runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
| @@ -150,10 +150,10 @@ func UpdateUser(user *User) (err error) { | |||||
| // DeleteUser completely deletes everything of the user. | // DeleteUser completely deletes everything of the user. | ||||
| func DeleteUser(user *User) error { | func DeleteUser(user *User) error { | ||||
| cnt, err := GetRepositoryCount(user) | |||||
| count, err := GetRepositoryCount(user) | |||||
| if err != nil { | if err != nil { | ||||
| return errors.New("modesl.GetRepositories: " + err.Error()) | return errors.New("modesl.GetRepositories: " + err.Error()) | ||||
| } else if cnt > 0 { | |||||
| } else if count > 0 { | |||||
| return ErrUserOwnRepos | return ErrUserOwnRepos | ||||
| } | } | ||||
| @@ -151,8 +151,18 @@ func Delete(data base.TmplData, req *http.Request, session sessions.Session, r r | |||||
| id := auth.SignedInId(session) | id := auth.SignedInId(session) | ||||
| u := &models.User{Id: id} | 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) | |||||
| } | } | ||||
| @@ -15,7 +15,7 @@ | |||||
| <div id="gogs-user-setting-container" class="col-md-9"> | <div id="gogs-user-setting-container" class="col-md-9"> | ||||
| <form action="/user/delete" method="post" class="form-horizontal" id="gogs-user-delete"> | <form action="/user/delete" method="post" class="form-horizontal" id="gogs-user-delete"> | ||||
| <h4>Delete Account</h4> | <h4>Delete Account</h4> | ||||
| <p class="alert alert-danger">Deleting your account is permanent. Sorry to see you go, if you have any feedback you can contact us.</p> | |||||
| <p class="alert alert-danger">{{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}}</p> | |||||
| <div class="form-group"> | <div class="form-group"> | ||||
| <div class="col-md-3"> | <div class="col-md-3"> | ||||
| <button type="submit" class="btn btn-danger btn-lg">Delete Account</button> | <button type="submit" class="btn btn-danger btn-lg">Delete Account</button> | ||||
| @@ -0,0 +1 @@ | |||||
| box: wercker/default | |||||